From 41b54c4d757feb3672e0e2e4ec82b1be01ce2617 Mon Sep 17 00:00:00 2001 From: Bobrnor Date: Sat, 20 Jun 2026 01:19:58 +0200 Subject: [PATCH] fix(settings): surface relative-path behavior in Workspace Directory helper (#5692) * fix(settings): surface relative-path behavior in Workspace Directory helper The global Workspace Directory field's helper text only duplicated the section description, so the per-project relative-path behavior was undiscoverable: a relative value resolves under each repo root, an absolute value is one shared location (worktree-logic.ts resolveWorkspaceDirForRepo). The per-repo "Worktree Location" field already explains this; the global one didn't. Replace the redundant line with a helper stating both modes, under a new i18n key across all five locales. Also translate the host-scope strings in this block (Client default, Apply to, Overrides/Inherits client default, Reset) that were still English in zh/ko/ja/es. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01M3VivWTrvHx31HdobBmPQ1 * fix(i18n): use 'Restablecer' for Reset action in es locale 'Reiniciar' reads as restarting Orca; 'Restablecer' is the correct verb for resetting a setting to its default. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01BnKfKNJJskzs7eWE7MyJDF --------- Co-authored-by: Daniil Zinenko Co-authored-by: Claude Opus 4.8 (1M context) Co-authored-by: Jinwoo-H Co-authored-by: Orca --- .../settings/WorkspaceDirectorySetting.tsx | 16 +++++++----- src/renderer/src/i18n/locales/en.json | 17 +++++++++++-- src/renderer/src/i18n/locales/es.json | 25 ++++++++++++++----- src/renderer/src/i18n/locales/ja.json | 25 ++++++++++++++----- src/renderer/src/i18n/locales/ko.json | 17 +++++++++++-- src/renderer/src/i18n/locales/zh.json | 25 ++++++++++++++----- 6 files changed, 97 insertions(+), 28 deletions(-) diff --git a/src/renderer/src/components/settings/WorkspaceDirectorySetting.tsx b/src/renderer/src/components/settings/WorkspaceDirectorySetting.tsx index 62c365c82eb..5d2085eefa8 100644 --- a/src/renderer/src/components/settings/WorkspaceDirectorySetting.tsx +++ b/src/renderer/src/components/settings/WorkspaceDirectorySetting.tsx @@ -191,12 +191,16 @@ export function WorkspaceDirectorySetting({ )} )} -

- {translate( - 'auto.components.settings.GeneralWorkspaceSettingsSection.a246f5ce6f', - 'Root directory where workspace folders are created.' - )} -

+ {/* Why: this helper documents the client-default workspaceDir resolver; + avoid promising host-specific creation semantics here. */} + {!editingHost && ( +

+ {translate( + 'auto.components.settings.WorkspaceDirectorySetting.6f7a8b9cad', + 'Use a relative path (e.g. .orca/worktrees) for a per-project location, or an absolute path for one shared folder.' + )} +

+ )} ) } diff --git a/src/renderer/src/i18n/locales/en.json b/src/renderer/src/i18n/locales/en.json index 5f7d182793a..fe9f21d5d8d 100644 --- a/src/renderer/src/i18n/locales/en.json +++ b/src/renderer/src/i18n/locales/en.json @@ -2284,6 +2284,7 @@ "TerminalContextMenu": { "b4cdd9314e": "Clear Screen", "8c17d6786d": "Close Pane", + "copyTerminalId": "Copy Terminal ID", "2cf85a6a55": "Copy Pane ID", "39809d152f": "Set Title…", "06c2b0f043": "Equalize Pane Sizes", @@ -2367,7 +2368,15 @@ "pane": { "context": { "menu": { - "a29b9faa01": "Pane ID copied" + "a29b9faa01": "Pane ID copied", + "terminal": { + "id": { + "copied": "Terminal ID copied", + "copy": { + "failed": "Unable to copy terminal ID" + } + } + } } } } @@ -7905,7 +7914,8 @@ "2b3c4d5e6f": "Apply to", "3c4d5e6f7a": "Overrides client default", "4d5e6f7a8b": "Inherits the client default", - "5e6f7a8b9c": "Reset" + "5e6f7a8b9c": "Reset", + "6f7a8b9cad": "Use a relative path (e.g. .orca/worktrees) for a per-project location, or an absolute path for one shared folder." }, "agent-awake-copy": { "e5995ce268": "Keep computer awake while agents are working", @@ -8384,6 +8394,9 @@ "cc06595a3b": "Copy Line Path", "3596b9668d": "Copy Path" }, + "SourceControlEntryContextMenu": { + "a1f2c8d901": "View" + }, "SourceControl": { "1406954883": "Clear all notes...", "cc05b2d088": "Open in File Explorer", diff --git a/src/renderer/src/i18n/locales/es.json b/src/renderer/src/i18n/locales/es.json index 2b97b223fb4..41adc349758 100644 --- a/src/renderer/src/i18n/locales/es.json +++ b/src/renderer/src/i18n/locales/es.json @@ -2284,6 +2284,7 @@ "TerminalContextMenu": { "b4cdd9314e": "Borrar pantalla", "8c17d6786d": "Cerrar panel", + "copyTerminalId": "Copiar ID de terminal", "2cf85a6a55": "Copiar ID del panel", "39809d152f": "Establecer título…", "06c2b0f043": "Igualar tamaños de paneles", @@ -2367,7 +2368,15 @@ "pane": { "context": { "menu": { - "a29b9faa01": "ID del panel copiado" + "a29b9faa01": "ID del panel copiado", + "terminal": { + "id": { + "copied": "ID de terminal copiado", + "copy": { + "failed": "No se pudo copiar el ID de terminal" + } + } + } } } } @@ -8026,11 +8035,12 @@ "thisDevice": "This device" }, "WorkspaceDirectorySetting": { - "1a2b3c4d5e": "Client default", - "2b3c4d5e6f": "Apply to", - "3c4d5e6f7a": "Overrides client default", - "4d5e6f7a8b": "Inherits the client default", - "5e6f7a8b9c": "Reset" + "1a2b3c4d5e": "Predeterminado del cliente", + "2b3c4d5e6f": "Aplicar a", + "3c4d5e6f7a": "Anula el valor predeterminado del cliente", + "4d5e6f7a8b": "Hereda el valor predeterminado del cliente", + "5e6f7a8b9c": "Restablecer", + "6f7a8b9cad": "Usa una ruta relativa (p. ej. .orca/worktrees) para una ubicación por proyecto, o una ruta absoluta para una carpeta compartida." }, "ProviderHostScopeControl": { "scope_label": "{{value0}}: {{value1}}", @@ -8384,6 +8394,9 @@ "cc06595a3b": "Copiar ruta de línea", "3596b9668d": "Copiar ruta" }, + "SourceControlEntryContextMenu": { + "a1f2c8d901": "Ver" + }, "SourceControl": { "1406954883": "Borrar todas las notas...", "cc05b2d088": "Abrir en el Explorador de archivos", diff --git a/src/renderer/src/i18n/locales/ja.json b/src/renderer/src/i18n/locales/ja.json index b4dcbeb9606..1e41a750b25 100644 --- a/src/renderer/src/i18n/locales/ja.json +++ b/src/renderer/src/i18n/locales/ja.json @@ -2284,6 +2284,7 @@ "TerminalContextMenu": { "b4cdd9314e": "クリアスクリーン", "8c17d6786d": "ペインを閉じる", + "copyTerminalId": "Terminal ID をコピー", "2cf85a6a55": "ペインIDのコピー", "39809d152f": "タイトルを設定…", "06c2b0f043": "ペインのサイズを均等化する", @@ -2367,7 +2368,15 @@ "pane": { "context": { "menu": { - "a29b9faa01": "ペイン ID がコピーされました" + "a29b9faa01": "ペイン ID がコピーされました", + "terminal": { + "id": { + "copied": "Terminal ID をコピーしました", + "copy": { + "failed": "Terminal ID をコピーできません" + } + } + } } } } @@ -8026,11 +8035,12 @@ "thisDevice": "This device" }, "WorkspaceDirectorySetting": { - "1a2b3c4d5e": "Client default", - "2b3c4d5e6f": "Apply to", - "3c4d5e6f7a": "Overrides client default", - "4d5e6f7a8b": "Inherits the client default", - "5e6f7a8b9c": "リセット" + "1a2b3c4d5e": "クライアントのデフォルト", + "2b3c4d5e6f": "適用先", + "3c4d5e6f7a": "クライアントのデフォルトを上書き", + "4d5e6f7a8b": "クライアントのデフォルトを継承", + "5e6f7a8b9c": "リセット", + "6f7a8b9cad": "相対パス(例: .orca/worktrees)を指定するとプロジェクトごとの場所になり、絶対パスを指定すると全プロジェクトで 1 つのフォルダーを共有します。" }, "ProviderHostScopeControl": { "scope_label": "{{value0}}: {{value1}}", @@ -8384,6 +8394,9 @@ "cc06595a3b": "ラインパスのコピー", "3596b9668d": "パスのコピー" }, + "SourceControlEntryContextMenu": { + "a1f2c8d901": "表示" + }, "SourceControl": { "1406954883": "すべてのメモをクリアします...", "cc05b2d088": "ファイルエクスプローラーで開く", diff --git a/src/renderer/src/i18n/locales/ko.json b/src/renderer/src/i18n/locales/ko.json index 060e984286f..e232cccacf2 100644 --- a/src/renderer/src/i18n/locales/ko.json +++ b/src/renderer/src/i18n/locales/ko.json @@ -2284,6 +2284,7 @@ "TerminalContextMenu": { "b4cdd9314e": "화면 지우기", "8c17d6786d": "창 닫기", + "copyTerminalId": "터미널 ID 복사", "2cf85a6a55": "창 ID 복사", "39809d152f": "제목 설정…", "06c2b0f043": "창 크기 균등화", @@ -2367,7 +2368,15 @@ "pane": { "context": { "menu": { - "a29b9faa01": "창 ID가 복사되었습니다." + "a29b9faa01": "창 ID가 복사되었습니다.", + "terminal": { + "id": { + "copied": "터미널 ID가 복사되었습니다", + "copy": { + "failed": "터미널 ID를 복사할 수 없습니다" + } + } + } } } } @@ -8030,7 +8039,8 @@ "2b3c4d5e6f": "적용 대상", "3c4d5e6f7a": "클라이언트 기본값 재정의", "4d5e6f7a8b": "클라이언트 기본값 상속", - "5e6f7a8b9c": "재설정" + "5e6f7a8b9c": "재설정", + "6f7a8b9cad": "상대 경로(예: .orca/worktrees)를 사용하면 프로젝트별 위치가 되고, 절대 경로를 사용하면 모든 프로젝트가 하나의 폴더를 공유합니다." }, "ProviderHostScopeControl": { "scope_label": "{{value0}}: {{value1}}", @@ -8384,6 +8394,9 @@ "cc06595a3b": "라인 경로 복사", "3596b9668d": "경로 복사" }, + "SourceControlEntryContextMenu": { + "a1f2c8d901": "보기" + }, "SourceControl": { "1406954883": "모든 메모 지우기...", "cc05b2d088": "파일 탐색기에서 열기", diff --git a/src/renderer/src/i18n/locales/zh.json b/src/renderer/src/i18n/locales/zh.json index c5eef291003..ae8498eb6fb 100644 --- a/src/renderer/src/i18n/locales/zh.json +++ b/src/renderer/src/i18n/locales/zh.json @@ -2284,6 +2284,7 @@ "TerminalContextMenu": { "b4cdd9314e": "清晰的屏幕", "8c17d6786d": "关闭窗格", + "copyTerminalId": "复制终端 ID", "2cf85a6a55": "复制窗格 ID", "39809d152f": "设置标题...", "06c2b0f043": "均衡窗格大小", @@ -2367,7 +2368,15 @@ "pane": { "context": { "menu": { - "a29b9faa01": "已复制窗格 ID" + "a29b9faa01": "已复制窗格 ID", + "terminal": { + "id": { + "copied": "已复制终端 ID", + "copy": { + "failed": "无法复制终端 ID" + } + } + } } } } @@ -8026,11 +8035,12 @@ "thisDevice": "This device" }, "WorkspaceDirectorySetting": { - "1a2b3c4d5e": "Client default", - "2b3c4d5e6f": "Apply to", - "3c4d5e6f7a": "Overrides client default", - "4d5e6f7a8b": "Inherits the client default", - "5e6f7a8b9c": "重置" + "1a2b3c4d5e": "客户端默认值", + "2b3c4d5e6f": "应用于", + "3c4d5e6f7a": "覆盖客户端默认值", + "4d5e6f7a8b": "继承客户端默认值", + "5e6f7a8b9c": "重置", + "6f7a8b9cad": "使用相对路径(例如 .orca/worktrees)可让每个项目使用各自的位置,使用绝对路径则所有项目共用一个文件夹。" }, "ProviderHostScopeControl": { "scope_label": "{{value0}}: {{value1}}", @@ -8384,6 +8394,9 @@ "cc06595a3b": "复制线路径", "3596b9668d": "复制路径" }, + "SourceControlEntryContextMenu": { + "a1f2c8d901": "查看" + }, "SourceControl": { "1406954883": "清除所有笔记...", "cc05b2d088": "在文件资源管理器中打开",