fix(cli): preserve encoding after formatting

This commit is contained in:
marius-kilocode
2026-06-22 21:12:55 +02:00
parent 6a8961e036
commit a37d3bf1f0
25 changed files with 149 additions and 55 deletions
+4 -2
View File
@@ -286,7 +286,8 @@ export const dict = {
"prompt.action.sandbox.enable": "تفعيل sandbox",
"prompt.action.sandbox.disable": "تعطيل sandbox",
"prompt.action.sandbox.enabled": "sandbox مُفعّل. أوامر shell الخاصة بالوكيل مقتصرة على مجلدات المشروع و Kilo.",
"prompt.action.sandbox.disabled": "sandbox مُعطّل. انقر لتقييد كتابة أوامر shell الخاصة بالوكيل على مجلدات المشروع و Kilo.",
"prompt.action.sandbox.disabled":
"sandbox مُعطّل. انقر لتقييد كتابة أوامر shell الخاصة بالوكيل على مجلدات المشروع و Kilo.",
"speechToText.tooltip.start": "بدء الإدخال الصوتي باستخدام Kilo Gateway",
"speechToText.tooltip.stop": "إيقاف التقاط الصوت",
@@ -1430,7 +1431,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "الوصف",
"settings.agentBehaviour.workflows.detail.template": "القالب",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "تشغيل أوامر shell الخاصة بالوكيل داخل sandbox على مستوى نظام التشغيل يقيّد الكتابة على مجلدات حالة المشروع و Kilo",
"settings.experimental.sandbox.description":
"تشغيل أوامر shell الخاصة بالوكيل داخل sandbox على مستوى نظام التشغيل يقيّد الكتابة على مجلدات حالة المشروع و Kilo",
"settings.autoApprove.description":
"تحديد كيفية السماح بتشغيل الأدوات. معظم الأدوات معينة افتراضياً على السماح. doom_loop و external_directory معينة افتراضياً على السؤال.",
+6 -3
View File
@@ -289,8 +289,10 @@ export const dict = {
"prompt.action.indexing": "Configurações de indexação",
"prompt.action.sandbox.enable": "Ativar sandbox",
"prompt.action.sandbox.disable": "Desativar sandbox",
"prompt.action.sandbox.enabled": "Sandbox ativado. Os comandos shell do agente estão limitados aos diretórios do projeto e do Kilo.",
"prompt.action.sandbox.disabled": "Sandbox desativado. Clique para limitar as escritas dos comandos shell do agente aos diretórios do projeto e do Kilo.",
"prompt.action.sandbox.enabled":
"Sandbox ativado. Os comandos shell do agente estão limitados aos diretórios do projeto e do Kilo.",
"prompt.action.sandbox.disabled":
"Sandbox desativado. Clique para limitar as escritas dos comandos shell do agente aos diretórios do projeto e do Kilo.",
"speechToText.tooltip.start": "Iniciar entrada de voz com o Kilo Gateway",
"speechToText.tooltip.stop": "Parar captura",
@@ -1468,7 +1470,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Descrição",
"settings.agentBehaviour.workflows.detail.template": "Modelo",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Executar os comandos shell do agente dentro de um sandbox a nível de sistema operacional que restringe escritas aos diretórios de estado do projeto e do Kilo",
"settings.experimental.sandbox.description":
"Executar os comandos shell do agente dentro de um sandbox a nível de sistema operacional que restringe escritas aos diretórios de estado do projeto e do Kilo",
"settings.autoApprove.description":
"Defina como as ferramentas têm permissão para serem executadas. A maioria das ferramentas tem o padrão Permitir. doom_loop e external_directory têm o padrão Perguntar.",
+6 -3
View File
@@ -289,8 +289,10 @@ export const dict = {
"Dugme 'Poboljšaj prompt' pomaže poboljšati vaš zahtjev pružajući dodatni kontekst, pojašnjenje ili preformulaciju. Pokušajte upisati zahtjev ovdje i ponovo kliknite na dugme da vidite kako funkcioniše.",
"prompt.action.sandbox.enable": "Omogući sandbox",
"prompt.action.sandbox.disable": "Onemogući sandbox",
"prompt.action.sandbox.enabled": "Sandbox je omogućen. Shell komande agenta su ograničene na direktorije projekta i Kilo.",
"prompt.action.sandbox.disabled": "Sandbox je onemogućen. Kliknite da ograničite pisanje shell komandi agenta na direktorije projekta i Kilo.",
"prompt.action.sandbox.enabled":
"Sandbox je omogućen. Shell komande agenta su ograničene na direktorije projekta i Kilo.",
"prompt.action.sandbox.disabled":
"Sandbox je onemogućen. Kliknite da ograničite pisanje shell komandi agenta na direktorije projekta i Kilo.",
"speechToText.tooltip.start": "Započni glasovni unos sa Kilo Gateway",
"speechToText.tooltip.stop": "Zaustavi hvatanje zvuka",
@@ -1462,7 +1464,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Opis",
"settings.agentBehaviour.workflows.detail.template": "Predložak",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Pokrenite shell komande agenta unutar sandboxa na nivou operativnog sistema koji ograničava pisanje na direktorije stanja projekta i Kilo",
"settings.experimental.sandbox.description":
"Pokrenite shell komande agenta unutar sandboxa na nivou operativnog sistema koji ograničava pisanje na direktorije stanja projekta i Kilo",
"settings.autoApprove.description":
"Definišite kako je dozvoljeno pokretanje alata. Većina alata je podrazumijevano na Dozvoli. doom_loop i external_directory su podrazumijevano na Pitaj.",
+6 -3
View File
@@ -288,8 +288,10 @@ export const dict = {
"Knappen 'Forbedr prompt' hjælper med at forbedre din forespørgsel ved at give ekstra kontekst, præcisering eller omformulering. Prøv at skrive en forespørgsel her og klik på knappen igen for at se hvordan det virker.",
"prompt.action.sandbox.enable": "Aktivér sandbox",
"prompt.action.sandbox.disable": "Deaktivér sandbox",
"prompt.action.sandbox.enabled": "Sandbox er aktiveret. Shell-kommandoer for agenten er begrænset til projekt- og Kilo-mapperne.",
"prompt.action.sandbox.disabled": "Sandbox er deaktiveret. Klik for at begrænse skrivning af shell-kommandoer for agenten til projekt- og Kilo-mapperne.",
"prompt.action.sandbox.enabled":
"Sandbox er aktiveret. Shell-kommandoer for agenten er begrænset til projekt- og Kilo-mapperne.",
"prompt.action.sandbox.disabled":
"Sandbox er deaktiveret. Klik for at begrænse skrivning af shell-kommandoer for agenten til projekt- og Kilo-mapperne.",
"speechToText.tooltip.start": "Start stemmeinput med Kilo Gateway",
"speechToText.tooltip.stop": "Stop lydoptagelse",
@@ -1455,7 +1457,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Beskrivelse",
"settings.agentBehaviour.workflows.detail.template": "Skabelon",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Kør shell-kommandoer for agenten i en sandbox på operativsystemniveau, der begrænser skrivning til projekt- og Kilo-tilstandsmapperne",
"settings.experimental.sandbox.description":
"Kør shell-kommandoer for agenten i en sandbox på operativsystemniveau, der begrænser skrivning til projekt- og Kilo-tilstandsmapperne",
"settings.autoApprove.description":
"Definer, hvordan værktøjer må køre. De fleste værktøjer er som standard indstillet til Tillad. doom_loop og external_directory er som standard indstillet til Spørg.",
+6 -3
View File
@@ -292,8 +292,10 @@ export const dict = {
"Die Schaltfläche 'Prompt verbessern' hilft, deine Anfrage durch zusätzlichen Kontext, Klarstellungen oder Umformulierungen zu verbessern. Versuche, hier eine Anfrage einzugeben und klicke erneut auf die Schaltfläche, um zu sehen, wie es funktioniert.",
"prompt.action.sandbox.enable": "Sandbox aktivieren",
"prompt.action.sandbox.disable": "Sandbox deaktivieren",
"prompt.action.sandbox.enabled": "Sandbox ist aktiviert. Shell-Befehle des Agenten sind auf die Projekt- und Kilo-Verzeichnisse beschränkt.",
"prompt.action.sandbox.disabled": "Sandbox ist deaktiviert. Klicken, um Schreibvorgänge der Shell-Befehle des Agenten auf die Projekt- und Kilo-Verzeichnisse zu beschränken.",
"prompt.action.sandbox.enabled":
"Sandbox ist aktiviert. Shell-Befehle des Agenten sind auf die Projekt- und Kilo-Verzeichnisse beschränkt.",
"prompt.action.sandbox.disabled":
"Sandbox ist deaktiviert. Klicken, um Schreibvorgänge der Shell-Befehle des Agenten auf die Projekt- und Kilo-Verzeichnisse zu beschränken.",
"speechToText.tooltip.start": "Spracheingabe mit Kilo Gateway starten",
"speechToText.tooltip.stop": "Audioerfassung beenden",
@@ -1484,7 +1486,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Beschreibung",
"settings.agentBehaviour.workflows.detail.template": "Vorlage",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Shell-Befehle des Agenten in einer Sandbox auf Betriebssystemebene ausführen, die Schreibvorgänge auf die Projekt- und Kilo-Statusverzeichnisse beschränkt",
"settings.experimental.sandbox.description":
"Shell-Befehle des Agenten in einer Sandbox auf Betriebssystemebene ausführen, die Schreibvorgänge auf die Projekt- und Kilo-Statusverzeichnisse beschränkt",
"settings.autoApprove.description":
"Legen Sie fest, wie Tools ausgeführt werden dürfen. Die meisten Tools sind standardmäßig auf Zulassen eingestellt. doom_loop und external_directory sind standardmäßig auf Fragen eingestellt.",
@@ -285,8 +285,10 @@ export const dict = {
"prompt.action.autoApprove.disabled": "Auto-approve is disabled. Click to approve permission prompts automatically.",
"prompt.action.sandbox.enable": "Enable sandbox",
"prompt.action.sandbox.disable": "Disable sandbox",
"prompt.action.sandbox.enabled": "Sandbox is enabled. Agent shell commands are confined to the project and Kilo directories.",
"prompt.action.sandbox.disabled": "Sandbox is disabled. Click to confine agent shell command writes to the project and Kilo directories.",
"prompt.action.sandbox.enabled":
"Sandbox is enabled. Agent shell commands are confined to the project and Kilo directories.",
"prompt.action.sandbox.disabled":
"Sandbox is disabled. Click to confine agent shell command writes to the project and Kilo directories.",
"prompt.action.resetModel": "Reset model to default",
"prompt.action.enhanceDescription":
"The 'Enhance Prompt' button helps improve your prompt by providing additional context, clarification, or rephrasing. Try typing a prompt in here and clicking the button again to see how it works.",
+6 -3
View File
@@ -290,8 +290,10 @@ export const dict = {
"prompt.action.indexing": "Configuración de indexación",
"prompt.action.sandbox.enable": "Activar sandbox",
"prompt.action.sandbox.disable": "Desactivar sandbox",
"prompt.action.sandbox.enabled": "Sandbox activado. Los comandos de shell del agente están limitados a los directorios del proyecto y de Kilo.",
"prompt.action.sandbox.disabled": "Sandbox desactivado. Haz clic para limitar las escrituras de los comandos de shell del agente a los directorios del proyecto y de Kilo.",
"prompt.action.sandbox.enabled":
"Sandbox activado. Los comandos de shell del agente están limitados a los directorios del proyecto y de Kilo.",
"prompt.action.sandbox.disabled":
"Sandbox desactivado. Haz clic para limitar las escrituras de los comandos de shell del agente a los directorios del proyecto y de Kilo.",
"speechToText.tooltip.start": "Iniciar entrada de voz con Kilo Gateway",
"speechToText.tooltip.stop": "Detener captura",
@@ -1476,7 +1478,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Descripción",
"settings.agentBehaviour.workflows.detail.template": "Plantilla",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Ejecutar los comandos de shell del agente dentro de un sandbox a nivel de sistema operativo que restringe las escrituras a los directorios de estado del proyecto y de Kilo",
"settings.experimental.sandbox.description":
"Ejecutar los comandos de shell del agente dentro de un sandbox a nivel de sistema operativo que restringe las escrituras a los directorios de estado del proyecto y de Kilo",
"settings.autoApprove.description":
"Defina cómo se permite la ejecución de las herramientas. La mayoría de las herramientas tienen como valor predeterminado Permitir. doom_loop y external_directory tienen como valor predeterminado Preguntar.",
+6 -3
View File
@@ -291,8 +291,10 @@ export const dict = {
"prompt.action.indexing": "Paramètres d'indexation",
"prompt.action.sandbox.enable": "Activer le sandbox",
"prompt.action.sandbox.disable": "Désactiver le sandbox",
"prompt.action.sandbox.enabled": "Le sandbox est activé. Les commandes shell de l'agent sont limitées aux répertoires du projet et de Kilo.",
"prompt.action.sandbox.disabled": "Le sandbox est désactivé. Cliquez pour limiter les écritures des commandes shell de l'agent aux répertoires du projet et de Kilo.",
"prompt.action.sandbox.enabled":
"Le sandbox est activé. Les commandes shell de l'agent sont limitées aux répertoires du projet et de Kilo.",
"prompt.action.sandbox.disabled":
"Le sandbox est désactivé. Cliquez pour limiter les écritures des commandes shell de l'agent aux répertoires du projet et de Kilo.",
"speechToText.tooltip.start": "Démarrer la saisie vocale avec Kilo Gateway",
"speechToText.tooltip.stop": "Arrêter la capture audio",
@@ -1493,7 +1495,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Description",
"settings.agentBehaviour.workflows.detail.template": "Modèle",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Exécuter les commandes shell de l'agent dans un sandbox au niveau du système d'exploitation qui restreint les écritures aux répertoires d'état du projet et de Kilo",
"settings.experimental.sandbox.description":
"Exécuter les commandes shell de l'agent dans un sandbox au niveau du système d'exploitation qui restreint les écritures aux répertoires d'état du projet et de Kilo",
"settings.autoApprove.description":
"Définissez comment les outils sont autorisés à s'exécuter. La plupart des outils sont définis sur Autoriser par défaut. doom_loop et external_directory sont définis sur Demander par défaut.",
+6 -3
View File
@@ -1199,10 +1199,13 @@ export const dict = {
"settings.agentBehaviour.availableModes": "Modalità personalizzate disponibili",
"prompt.action.sandbox.enable": "Abilita sandbox",
"prompt.action.sandbox.disable": "Disabilita sandbox",
"prompt.action.sandbox.enabled": "Sandbox abilitata. I comandi shell dell'agente sono limitati alle directory del progetto e di Kilo.",
"prompt.action.sandbox.disabled": "Sandbox disabilitata. Fai clic per limitare le scritture dei comandi shell dell'agente alle directory del progetto e di Kilo.",
"prompt.action.sandbox.enabled":
"Sandbox abilitata. I comandi shell dell'agente sono limitati alle directory del progetto e di Kilo.",
"prompt.action.sandbox.disabled":
"Sandbox disabilitata. Fai clic per limitare le scritture dei comandi shell dell'agente alle directory del progetto e di Kilo.",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Esegui i comandi shell dell'agente all'interno di un sandbox a livello di sistema operativo che limita le scritture alle directory di stato del progetto e di Kilo",
"settings.experimental.sandbox.description":
"Esegui i comandi shell dell'agente all'interno di un sandbox a livello di sistema operativo che limita le scritture alle directory di stato del progetto e di Kilo",
"settings.agentBehaviour.skillPaths": "Percorsi cartelle skill",
"settings.agentBehaviour.skillUrls": "URL skill",
+6 -3
View File
@@ -286,8 +286,10 @@ export const dict = {
"prompt.action.indexing": "インデックス設定",
"prompt.action.sandbox.enable": "サンドボックスを有効化",
"prompt.action.sandbox.disable": "サンドボックスを無効化",
"prompt.action.sandbox.enabled": "サンドボックスが有効です。エージェントのシェルコマンドは、プロジェクトおよびKiloディレクトリに制限されています。",
"prompt.action.sandbox.disabled": "サンドボックスが効です。クリックしてエージェントのシェルコマンドの書き込みをプロジェクトおよびKiloディレクトリに制限ます。",
"prompt.action.sandbox.enabled":
"サンドボックスが効です。エージェントのシェルコマンドは、プロジェクトおよびKiloディレクトリに制限されています。",
"prompt.action.sandbox.disabled":
"サンドボックスが無効です。クリックしてエージェントのシェルコマンドの書き込みをプロジェクトおよびKiloディレクトリに制限します。",
"speechToText.tooltip.start": "Kilo Gatewayで音声入力を開始",
"speechToText.tooltip.stop": "音声キャプチャを停止",
@@ -1451,7 +1453,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "説明",
"settings.agentBehaviour.workflows.detail.template": "テンプレート",
"settings.experimental.sandbox.title": "サンドボックス",
"settings.experimental.sandbox.description": "エージェントのシェルコマンドを、プロジェクトおよびKiloの状態ディレクトリへの書き込みを制限するOSレベルのサンドボックス内で実行",
"settings.experimental.sandbox.description":
"エージェントのシェルコマンドを、プロジェクトおよびKiloの状態ディレクトリへの書き込みを制限するOSレベルのサンドボックス内で実行",
"settings.autoApprove.description":
"ツールの実行許可を定義します。ほとんどのツールはデフォルトで「許可」されます。doom_loop と external_directory はデフォルトで「確認」になります。",
+6 -3
View File
@@ -288,8 +288,10 @@ export const dict = {
"'프롬프트 향상' 버튼은 추가 컨텍스트, 명확화 또는 재구성을 제공하여 요청을 개선합니다. 여기에 요청을 입력한 다음 버튼을 다시 클릭하여 작동 방식을 확인해보세요.",
"prompt.action.sandbox.enable": "샌드박스 활성화",
"prompt.action.sandbox.disable": "샌드박스 비활성화",
"prompt.action.sandbox.enabled": "샌드박스가 활성화되어 있습니다. 에이전트 셸 명령은 프로젝트 및 Kilo 디렉터리로 제한됩니다.",
"prompt.action.sandbox.disabled": "샌드박스가 활성화되어 있습니다. 클릭하여 에이전트 셸 명령 쓰기를 프로젝트 및 Kilo 디렉터리로 제한니다.",
"prompt.action.sandbox.enabled":
"샌드박스가 활성화되어 있습니다. 에이전트 셸 명령 프로젝트 및 Kilo 디렉터리로 제한니다.",
"prompt.action.sandbox.disabled":
"샌드박스가 비활성화되어 있습니다. 클릭하여 에이전트 셸 명령 쓰기를 프로젝트 및 Kilo 디렉터리로 제한합니다.",
"speechToText.tooltip.start": "Kilo Gateway로 음성 입력 시작",
"speechToText.tooltip.stop": "음성 캡처 중지",
@@ -1441,7 +1443,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "설명",
"settings.agentBehaviour.workflows.detail.template": "템플릿",
"settings.experimental.sandbox.title": "샌드박스",
"settings.experimental.sandbox.description": "에이전트 셸 명령을 프로젝트 및 Kilo 상태 디렉터리에 대한 쓰기를 제한하는 OS 수준의 샌드박스 내에서 실행",
"settings.experimental.sandbox.description":
"에이전트 셸 명령을 프로젝트 및 Kilo 상태 디렉터리에 대한 쓰기를 제한하는 OS 수준의 샌드박스 내에서 실행",
"settings.autoApprove.description":
"도구 실행 허용 방식을 정의합니다. 대부분의 도구 기본값은 '허용'입니다. doom_loop 및 external_directory의 기본값은 '확인'입니다.",
+6 -3
View File
@@ -290,8 +290,10 @@ export const dict = {
"De knop 'Prompt verbeteren' helpt je prompt te verbeteren door extra context, verduidelijking of herformulering te bieden. Typ hier een prompt en klik nogmaals op de knop om te zien hoe het werkt.",
"prompt.action.sandbox.enable": "Sandbox inschakelen",
"prompt.action.sandbox.disable": "Sandbox uitschakelen",
"prompt.action.sandbox.enabled": "Sandbox is ingeschakeld. Shell-opdrachten van de agent zijn beperkt tot de project- en Kilo-mappen.",
"prompt.action.sandbox.disabled": "Sandbox is uitgeschakeld. Klik om schrijfbewerkingen van shell-opdrachten van de agent te beperken tot de project- en Kilo-mappen.",
"prompt.action.sandbox.enabled":
"Sandbox is ingeschakeld. Shell-opdrachten van de agent zijn beperkt tot de project- en Kilo-mappen.",
"prompt.action.sandbox.disabled":
"Sandbox is uitgeschakeld. Klik om schrijfbewerkingen van shell-opdrachten van de agent te beperken tot de project- en Kilo-mappen.",
"speechToText.tooltip.start": "Spraakinvoer starten met Kilo Gateway",
"speechToText.tooltip.stop": "Audio vastleggen stoppen",
@@ -1337,7 +1339,8 @@ export const dict = {
"settings.experimental.remote.hint": "Gebruik /remote in de chat om te schakelen",
"settings.experimental.toolToggles": "Tool Schakelaars",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Shell-opdrachten van de agent uitvoeren in een sandbox op besturingssysteemniveau die schrijfbewerkingen beperkt tot de project- en Kilo-statusmappen",
"settings.experimental.sandbox.description":
"Shell-opdrachten van de agent uitvoeren in een sandbox op besturingssysteemniveau die schrijfbewerkingen beperkt tot de project- en Kilo-statusmappen",
"settings.agentBehaviour.defaultAgent.title": "Standaard Agent",
"settings.agentBehaviour.defaultAgent.description": "Agent om te gebruiken wanneer er geen is opgegeven",
+6 -3
View File
@@ -292,8 +292,10 @@ export const dict = {
"Knappen 'Forbedre prompt' hjelper med å forbedre forespørselen din ved å gi ekstra kontekst, avklaring eller omformulering. Prøv å skrive en forespørsel her og klikk på knappen igjen for å se hvordan det fungerer.",
"prompt.action.sandbox.enable": "Aktiver sandbox",
"prompt.action.sandbox.disable": "Deaktiver sandbox",
"prompt.action.sandbox.enabled": "Sandbox er aktivert. Shell-kommandoer for agenten er begrenset til prosjekt- og Kilo-mappene.",
"prompt.action.sandbox.disabled": "Sandbox er deaktivert. Klikk for å begrense skriving av shell-kommandoer for agenten til prosjekt- og Kilo-mappene.",
"prompt.action.sandbox.enabled":
"Sandbox er aktivert. Shell-kommandoer for agenten er begrenset til prosjekt- og Kilo-mappene.",
"prompt.action.sandbox.disabled":
"Sandbox er deaktivert. Klikk for å begrense skriving av shell-kommandoer for agenten til prosjekt- og Kilo-mappene.",
"speechToText.tooltip.start": "Start taleinndata med Kilo Gateway",
"speechToText.tooltip.stop": "Stopp lydfangst",
@@ -1454,7 +1456,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Beskrivelse",
"settings.agentBehaviour.workflows.detail.template": "Mal",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Kjør shell-kommandoer for agenten i en sandbox på operativsystemnivå som begrenser skriving til prosjekt- og Kilo-tilstandsmapper",
"settings.experimental.sandbox.description":
"Kjør shell-kommandoer for agenten i en sandbox på operativsystemnivå som begrenser skriving til prosjekt- og Kilo-tilstandsmapper",
"settings.autoApprove.description":
"Definer hvordan verktøy kan kjøre. De fleste verktøy har Tillat som standard. doom_loop og external_directory har Spør som standard.",
+6 -3
View File
@@ -289,8 +289,10 @@ export const dict = {
"prompt.action.indexing": "Ustawienia indeksowania",
"prompt.action.sandbox.enable": "Włącz sandbox",
"prompt.action.sandbox.disable": "Wyłącz sandbox",
"prompt.action.sandbox.enabled": "Sandbox jest włączony. Polecenia shell agenta są ograniczone do katalogów projektu i Kilo.",
"prompt.action.sandbox.disabled": "Sandbox jest wyłączony. Kliknij, aby ograniczyć zapisy poleceń shell agenta do katalogów projektu i Kilo.",
"prompt.action.sandbox.enabled":
"Sandbox jest włączony. Polecenia shell agenta są ograniczone do katalogów projektu i Kilo.",
"prompt.action.sandbox.disabled":
"Sandbox jest wyłączony. Kliknij, aby ograniczyć zapisy poleceń shell agenta do katalogów projektu i Kilo.",
"speechToText.tooltip.start": "Rozpocznij wprowadzanie głosowe z Kilo Gateway",
"speechToText.tooltip.stop": "Zatrzymaj przechwytywanie dźwięku",
@@ -1459,7 +1461,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Opis",
"settings.agentBehaviour.workflows.detail.template": "Szablon",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Uruchamiaj polecenia shell agenta w sandboxie na poziomie systemu operacyjnego, który ogranicza zapisy do katalogów stanu projektu i Kilo",
"settings.experimental.sandbox.description":
"Uruchamiaj polecenia shell agenta w sandboxie na poziomie systemu operacyjnego, który ogranicza zapisy do katalogów stanu projektu i Kilo",
"settings.autoApprove.description":
"Zdefiniuj, jak narzędzia mogą być uruchamiane. Większość narzędzi domyślnie ma ustawienie Zezwalaj. doom_loop i external_directory domyślnie mają ustawienie Pytaj.",
+4 -2
View File
@@ -288,7 +288,8 @@ export const dict = {
"prompt.action.sandbox.enable": "Включить песочницу",
"prompt.action.sandbox.disable": "Отключить песочницу",
"prompt.action.sandbox.enabled": "Песочница включена. Команды оболочки агента ограничены каталогами проекта и Kilo.",
"prompt.action.sandbox.disabled": "Песочница отключена. Нажмите, чтобы ограничить запись команд оболочки агента каталогами проекта и Kilo.",
"prompt.action.sandbox.disabled":
"Песочница отключена. Нажмите, чтобы ограничить запись команд оболочки агента каталогами проекта и Kilo.",
"speechToText.tooltip.start": "Начать голосовой ввод с Kilo Gateway",
"speechToText.tooltip.stop": "Остановить захват звука",
@@ -1461,7 +1462,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "Описание",
"settings.agentBehaviour.workflows.detail.template": "Шаблон",
"settings.experimental.sandbox.title": "Песочница",
"settings.experimental.sandbox.description": "Выполнять команды оболочки агента в песочнице на уровне ОС, которая ограничивает запись в каталоги состояния проекта и Kilo",
"settings.experimental.sandbox.description":
"Выполнять команды оболочки агента в песочнице на уровне ОС, которая ограничивает запись в каталоги состояния проекта и Kilo",
"settings.autoApprove.description":
"Определите правила запуска инструментов. Большинство инструментов по умолчанию Разрешены. Для doom_loop и external_directory по умолчанию установлено Спрашивать.",
+6 -3
View File
@@ -287,8 +287,10 @@ export const dict = {
"prompt.action.indexing": "การตั้งค่าการสร้างดัชนี",
"prompt.action.sandbox.enable": "เปิดใช้งาน sandbox",
"prompt.action.sandbox.disable": "ปิดใช้งาน sandbox",
"prompt.action.sandbox.enabled": "เปิดใช้งาน sandbox แล้ว คำสั่ง shell ของ agent ถูกจำกัดไว้ที่โฟลเดอร์โปรเจ็กต์และ Kilo",
"prompt.action.sandbox.disabled": "ปิดใช้งาน sandbox อยู่ คลิกเพื่อจำกัดการเขียนคำสั่ง shell ของ agent ไว้ที่โฟลเดอร์โปรเจ็กต์และ Kilo",
"prompt.action.sandbox.enabled":
"ปิดใช้งาน sandbox แล้ว คำสั่ง shell ของ agent ถูกจำกัดไว้ที่โฟลเดอร์โปรเจ็กต์และ Kilo",
"prompt.action.sandbox.disabled":
"ปิดใช้งาน sandbox อยู่ คลิกเพื่อจำกัดการเขียนคำสั่ง shell ของ agent ไว้ที่โฟลเดอร์โปรเจ็กต์และ Kilo",
"speechToText.tooltip.start": "เริ่มการป้อนข้อมูลด้วยเสียงด้วย Kilo Gateway",
"speechToText.tooltip.stop": "หยุดจับเสียง",
@@ -1438,7 +1440,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "คำอธิบาย",
"settings.agentBehaviour.workflows.detail.template": "เทมเพลต",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "เรียกใช้คำสั่ง shell ของ agent ใน sandbox ระดับระบบปฏิบัติการที่จำกัดการเขียนไปยังโฟลเดอร์สถานะของโปรเจ็กต์และ Kilo",
"settings.experimental.sandbox.description":
"เรียกใช้คำสั่ง shell ของ agent ใน sandbox ระดับระบบปฏิบัติการที่จำกัดการเขียนไปยังโฟลเดอร์สถานะของโปรเจ็กต์และ Kilo",
"settings.autoApprove.description":
"กำหนดวิธีอนุญาตการทำงานของเครื่องมือ โดยค่าเริ่มต้นเครื่องมือส่วนใหญ่คืออนุญาต ส่วน doom_loop และ external_directory ค่าเริ่มต้นคือถาม",
+4 -2
View File
@@ -288,7 +288,8 @@ export const dict = {
"prompt.action.sandbox.enable": "Sandbox'ı etkinleştir",
"prompt.action.sandbox.disable": "Sandbox'ı devre dışı bırak",
"prompt.action.sandbox.enabled": "Sandbox etkin. Agent shell komutları proje ve Kilo dizinleriyle sınırlıdır.",
"prompt.action.sandbox.disabled": "Sandbox devre dışı. Agent shell komut yazma işlemlerini proje ve Kilo dizinleriyle sınırlamak için tıklayın.",
"prompt.action.sandbox.disabled":
"Sandbox devre dışı. Agent shell komut yazma işlemlerini proje ve Kilo dizinleriyle sınırlamak için tıklayın.",
"speechToText.tooltip.start": "Kilo Gateway ile sesli girişi başlatın",
"speechToText.tooltip.stop": "Ses yakalamayı durdur",
@@ -1329,7 +1330,8 @@ export const dict = {
"settings.experimental.remote.hint": "Geçiş yapmak için sohbette /remote kullanın",
"settings.experimental.toolToggles": "Araç Açma/Kapatma",
"settings.experimental.sandbox.title": "Sandbox",
"settings.experimental.sandbox.description": "Agent shell komutlarını, proje ve Kilo durum dizinlerine yazmaları kısıtlanan işletim sistemi düzeyinde bir sandbox içinde çalıştırın",
"settings.experimental.sandbox.description":
"Agent shell komutlarını, proje ve Kilo durum dizinlerine yazmaları kısıtlanan işletim sistemi düzeyinde bir sandbox içinde çalıştırın",
"settings.agentBehaviour.defaultAgent.title": "Varsayılan Ajan",
"settings.agentBehaviour.defaultAgent.description": "Belirtilmediğinde kullanılacak ajan",
+4 -2
View File
@@ -290,7 +290,8 @@ export const dict = {
"prompt.action.sandbox.enable": "Увімкнути пісочницю",
"prompt.action.sandbox.disable": "Вимкнути пісочницю",
"prompt.action.sandbox.enabled": "Пісочницю увімкнено. Команди оболонки агента обмежені каталогами проєкту та Kilo.",
"prompt.action.sandbox.disabled": "Пісочницю вимкнено. Натисніть, щоб обмежити запис команд оболонки агента каталогами проєкту та Kilo.",
"prompt.action.sandbox.disabled":
"Пісочницю вимкнено. Натисніть, щоб обмежити запис команд оболонки агента каталогами проєкту та Kilo.",
"speechToText.tooltip.start": "Почати голосове введення з Kilo Gateway",
"speechToText.tooltip.stop": "Зупинити захоплення звуку",
@@ -1328,7 +1329,8 @@ export const dict = {
"settings.experimental.remote.hint": "Використовуйте /remote у чаті для перемикання",
"settings.experimental.toolToggles": "Перемикачі інструментів",
"settings.experimental.sandbox.title": "Пісочниця",
"settings.experimental.sandbox.description": "Виконувати команди оболонки агента в пісочниці на рівні ОС, яка обмежує запис до каталогів стану проєкту та Kilo",
"settings.experimental.sandbox.description":
"Виконувати команди оболонки агента в пісочниці на рівні ОС, яка обмежує запис до каталогів стану проєкту та Kilo",
"settings.agentBehaviour.defaultAgent.title": "Агент за замовчуванням",
"settings.agentBehaviour.defaultAgent.description": "Агент, що використовується, якщо не вказано інший",
+2 -1
View File
@@ -1408,7 +1408,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "描述",
"settings.agentBehaviour.workflows.detail.template": "模板",
"settings.experimental.sandbox.title": "沙盒",
"settings.experimental.sandbox.description": "在操作系统级沙盒中运行代理 shell 命令,将写入限制在项目和 Kilo 状态目录内",
"settings.experimental.sandbox.description":
"在操作系统级沙盒中运行代理 shell 命令,将写入限制在项目和 Kilo 状态目录内",
"settings.autoApprove.description":
"定义工具的运行权限。大多数工具默认为「允许」。doom_loop 和 external_directory 默认为「询问」。",
+2 -1
View File
@@ -1378,7 +1378,8 @@ export const dict = {
"settings.agentBehaviour.workflows.detail.description": "描述",
"settings.agentBehaviour.workflows.detail.template": "範本",
"settings.experimental.sandbox.title": "沙盒",
"settings.experimental.sandbox.description": "在作業系統層級沙盒中執行代理 shell 指令,將寫入限制在專案和 Kilo 狀態目錄內",
"settings.experimental.sandbox.description":
"在作業系統層級沙盒中執行代理 shell 指令,將寫入限制在專案和 Kilo 狀態目錄內",
"settings.autoApprove.description":
"定義工具的執行權限。大多數工具預設為允許。doom_loop 與 external_directory 預設為詢問。",
@@ -2,6 +2,7 @@ import { Effect } from "effect"
import { dirname } from "node:path"
import type { AppFileSystem } from "@opencode-ai/core/filesystem"
import * as Encoding from "../encoding"
import * as Bom from "@/util/bom"
/**
* Encoding-aware file operations routed through the application's filesystem
@@ -23,3 +24,16 @@ export const write = (fs: AppFileSystem.Interface, path: string, text: string, e
yield* fs.ensureDir(dirname(path)).pipe(Effect.mapError(wrap))
yield* fs.writeFile(path, Encoding.encode(text, encoding)).pipe(Effect.mapError(wrap))
})
export const sync = (fs: AppFileSystem.Interface, path: string, bom: boolean, encoding: string) =>
Effect.gen(function* () {
const current = yield* read(fs, path)
const target =
encoding === Encoding.UTF8_BOM && !bom
? Encoding.DEFAULT
: encoding === Encoding.DEFAULT && bom
? Encoding.UTF8_BOM
: encoding
yield* write(fs, path, Bom.join(current.text, bom), target)
return current.text
})
+1 -1
View File
@@ -273,7 +273,7 @@ export const ApplyPatchTool = Tool.define(
if (edited) {
if (yield* format.file(edited)) {
yield* Bom.syncFile(afs, edited, change.bom)
yield* EncodedIO.sync(afs, edited, change.bom, change.encoding)
}
yield* bus.publish(File.Event.Edited, { file: edited })
}
+2 -2
View File
@@ -138,7 +138,7 @@ export const EditTool = Tool.define(
})
yield* EncodedIO.write(afs, filePath, Bom.join(contentNew, desiredBom), source.encoding) // kilocode_change - encoding-aware write (mkdirs) replaces afs.writeWithDirs
if (yield* format.file(filePath)) {
contentNew = yield* Bom.syncFile(afs, filePath, desiredBom)
contentNew = yield* EncodedIO.sync(afs, filePath, desiredBom, source.encoding)
}
yield* bus.publish(File.Event.Edited, { file: filePath })
yield* bus.publish(FileWatcher.Event.Updated, {
@@ -188,7 +188,7 @@ export const EditTool = Tool.define(
yield* EncodedIO.write(afs, filePath, Bom.join(contentNew, desiredBom), source.encoding) // kilocode_change - encoding-aware write replaces afs.writeWithDirs
if (yield* format.file(filePath)) {
contentNew = yield* Bom.syncFile(afs, filePath, desiredBom)
contentNew = yield* EncodedIO.sync(afs, filePath, desiredBom, source.encoding)
}
yield* bus.publish(File.Event.Edited, { file: filePath })
yield* bus.publish(FileWatcher.Event.Updated, {
+1 -1
View File
@@ -72,7 +72,7 @@ export const WriteTool = Tool.define(
yield* EncodedIO.write(fs, filepath, Bom.join(contentNew, desiredBom), source.encoding) // kilocode_change - encoding-aware write (mkdirs) replaces fs.writeWithDirs
if (yield* format.file(filepath)) {
yield* Bom.syncFile(fs, filepath, desiredBom)
yield* EncodedIO.sync(fs, filepath, desiredBom, source.encoding)
}
yield* bus.publish(File.Event.Edited, { file: filepath })
yield* bus.publish(FileWatcher.Event.Updated, {
@@ -23,6 +23,7 @@ import { ReadTool } from "../../src/tool/read"
import * as Tool from "../../src/tool/tool"
import { Truncate } from "../../src/tool/truncate"
import { WriteTool } from "../../src/tool/write"
import * as EncodedIO from "../../src/kilocode/tool/encoded-io"
import { disposeAllInstances, provideTmpdirInstance } from "../fixture/fixture"
import { testEffect } from "../lib/effect"
@@ -440,6 +441,34 @@ describe("tool encoding preservation", () => {
),
)
})
describe("formatter output preserves the source encoding", () => {
const cases: Array<[string, string, boolean]> = [
["UTF-16 LE", "utf-16le", false],
["Windows-1251", "windows-1251", false],
["UTF-8 with BOM", UTF8_BOM, true],
]
for (const [label, encoding, bom] of cases) {
it.live(`re-encodes formatted ${label} content`, () =>
provideTmpdirInstance((dir) =>
Effect.gen(function* () {
const filepath = path.join(dir, "formatted.txt")
const content = encoding === "windows-1251" ? samples.windows1251 : samples.utf8
const afs = yield* AppFileSystem.Service
// Formatters commonly rewrite through UTF-8 regardless of the source encoding.
yield* afs.writeFile(filepath, Buffer.from(content, "utf-8"))
const synced = yield* EncodedIO.sync(afs, filepath, bom, encoding)
expect(synced).toBe(content)
const bytes = yield* loadBytes(filepath)
expect(bytes.equals(encodeBytes(content, encoding))).toBe(true)
}),
),
)
}
})
})
// Shared helper to set up a temp instance with an encoded file at `file.txt`.