Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions config/scripts/locale-brand-mistranslations.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,9 @@ export const BRAND_MISTRANSLATIONS = {
Linear: ['线性', '线形'],
Jira: ['吉拉'],
Tailscale: ['尾鳞', '尾鱗'],
Agent: ['代理', '智能体'],
Agents: ['代理', '智能体'],
agent: ['代理', '智能体'],
agents: ['代理', '智能体'],
// Why: Agent/Agents/agent/agents are not listed — 智能体 is the canonical zh rendering
// (see locale-generic-ui-terms.mjs) and 代理 is reserved for proxy/user-agent semantics,
// so neither form is a mistranslation to revert.
Commit: ['提交'],
Commits: ['提交'],
commit: ['提交'],
Expand Down
8 changes: 4 additions & 4 deletions config/scripts/locale-key-overrides.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ const BASE_LOCALE_KEY_OVERRIDES = {
},
'auto.components.tab.bar.TabBarCreateEntry.b27864279e': {
ko: '에이전트 실행',
zh: '启动代理',
zh: '启动智能体',
ja: 'Agent を起動'
},
'auto.components.sidebar.SidebarNav.c39ab10000': {
Expand Down Expand Up @@ -427,12 +427,12 @@ const BASE_LOCALE_KEY_OVERRIDES = {
},
'auto.components.settings.AgentsPane.9bccf48906': {
ko: '에이전트 위치',
zh: '代理位置',
zh: '智能体位置',
ja: 'Agent の場所'
},
'auto.components.sidebar.SidebarNav.e518f544b1': {
ko: '감지된 에이전트 없음',
zh: '未检测到代理',
zh: '未检测到智能体',
ja: 'Agent が検出されません'
},
'auto.components.onboarding.OnboardingFlow.04ae28d8ca': {
Expand Down Expand Up @@ -467,7 +467,7 @@ const BASE_LOCALE_KEY_OVERRIDES = {
},
'auto.components.settings.ExperimentalPane.0277901cf7': {
ko: '완료된 에이전트, 차단 질문, 읽지 않은 상태 및 작업 트리 생성 이벤트에 대한 스레드 작업 트리 피드가 있는 에이전트 항목을 왼쪽 사이드바에 추가합니다. 실험적 — 이벤트 모델과 UI가 변경될 수 있습니다.',
zh: '将代理条目添加到左侧边栏,其中包含已完成代理、阻塞待办、未读状态和工作树创建事件的线程工作树提要。实验性——事件模型和 UI 可能会改变。',
zh: '将智能体条目添加到左侧边栏,其中包含已完成智能体、阻塞待办、未读状态和工作树创建事件的线程工作树提要。实验性——事件模型和 UI 可能会改变。',
ja: '完了した Agent、ブロック中の質問、未読状態、ワークツリー作成イベントのスレッドワークツリーフィード付き Agent 項目を左サイドバーに追加します。実験的 — イベントモデルと UI は変更される場合があります。'
},
'auto.lib.fix.checks.agent.launch.9f00d7df0c': {
Expand Down
4 changes: 2 additions & 2 deletions config/scripts/locale-macos-tcc-key-overrides.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ export const MACOS_TCC_KEY_OVERRIDES = {
es: 'Los mensajes de permisos de macOS pueden aparecer cuando un agente o una herramienta de terminal que se ejecuta en Orca intenta acceder a archivos protegidos. Concede acceso total al disco en Ajustes para reducir estos avisos.',
ja: 'Orca で実行中のエージェントやターミナルツールが保護されたファイルにアクセスしようとすると、macOS の権限メッセージが表示されることがあります。これらの確認を減らすには、設定でフルディスクアクセスを許可してください。',
ko: 'Orca에서 실행 중인 에이전트나 터미널 도구가 보호된 파일에 접근하려고 하면 macOS 권한 메시지가 표시될 수 있습니다. 이러한 요청을 줄이려면 설정에서 전체 디스크 접근 권한을 허용하세요.',
zh: '当 Orca 中运行的代理或终端工具尝试访问受保护的文件时,macOS 可能会显示权限信息。请在“设置”中授予“完全磁盘访问权限”,以减少此类提示。'
zh: '当 Orca 中运行的智能体或终端工具尝试访问受保护的文件时,macOS 可能会显示权限信息。请在“设置”中授予“完全磁盘访问权限”,以减少此类提示。'
},
'auto.components.settings.DeveloperPermissionsPane.7ca17b62c8': {
es: 'Cuando los agentes que ejecuta Orca leen datos de otras apps, macOS muestra el nombre de Orca porque es el proceso responsable de los comandos de terminal. Concede este permiso a Orca para reducir esos avisos. Después, cierra y vuelve a abrir Orca.',
ja: 'Orca が実行するエージェントがほかのアプリのデータを読み取ると、ターミナルコマンドの実行元プロセスである Orca の名前が macOS に表示されます。これらの確認を減らすには、Orca にこの権限を許可してください。その後、Orca を終了して再度開いてください。',
ko: 'Orca가 실행하는 에이전트가 다른 앱의 데이터를 읽으면, macOS는 터미널 명령을 실행하는 프로세스인 Orca를 표시합니다. 이러한 요청을 줄이려면 Orca에 이 권한을 허용하세요. 그런 다음 Orca를 종료했다가 다시 여세요.',
zh: '当 Orca 运行的代理读取其他应用的数据时,macOS 会显示 Orca,因为 Orca 是执行终端命令的进程。请为 Orca 授予此权限,以减少此类提示。然后退出并重新打开 Orca。'
zh: '当 Orca 运行的智能体读取其他应用的数据时,macOS 会显示 Orca,因为 Orca 是执行终端命令的进程。请为 Orca 授予此权限,以减少此类提示。然后退出并重新打开 Orca。'
},
'auto.components.settings.DeveloperPermissionsPane.c566bca278': {
ko: '전체 디스크 접근 권한',
Expand Down
11 changes: 6 additions & 5 deletions config/scripts/locale-phrase-fixes.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -131,15 +131,16 @@ export const LOCALE_PHRASE_FIXES = {
...KO_PHRASE_FIXES_ROUND4
],
zh: [
{ pattern: /客服人员/g, replacement: '代理', whenEnIncludes: 'agent' },
{ pattern: /客服人员/g, replacement: '智能体', whenEnIncludes: 'agent' },
{ pattern: /会议/g, replacement: '会话', whenEnIncludes: 'session' },
{ pattern: /港口/g, replacement: '端口', whenEnIncludes: 'ort' },
{ pattern: /公关/g, replacement: 'PR', whenEnIncludes: 'PR' },
{ pattern: /虎鲸:\/\//g, replacement: 'orca://', whenEnIncludes: 'orca://' },
{ pattern: /代理商/g, replacement: '代理', whenEnIncludes: 'agent' },
{ pattern: /智能体/g, replacement: '代理', whenEnIncludes: 'agent' },
{ pattern: /代理商/g, replacement: '智能体', whenEnIncludes: 'agent' },
// Why: 智能体 is the canonical zh rendering of agent (see locale-generic-ui-terms.mjs);
// 代理 stays reserved for proxy/user-agent semantics.
{ pattern: /座席/g, replacement: '智能体', whenEnIncludes: 'agent' },
{ pattern: /分支机构/g, replacement: '分支', whenEnIncludes: 'ranch' },
{ pattern: /座席/g, replacement: '代理', whenEnIncludes: 'agent' },
{ pattern: /汽车/g, replacement: '自动', whenEnIncludes: 'Auto' },
{ pattern: /清爽/g, replacement: '刷新中', whenEnIncludes: 'Refreshing' },
{ pattern: /瓦斯尔/g, replacement: 'WSL', whenEnIncludes: 'wsl' },
Expand All @@ -157,7 +158,7 @@ export const LOCALE_PHRASE_FIXES = {
{ pattern: /电脑使用/g, replacement: '计算机控制', whenEnIncludes: 'Computer Use' },
{ pattern: /快捷方式/g, replacement: '快捷键', whenEnIncludes: 'Shortcuts' },
{ pattern: /入职清单/g, replacement: '入门清单', whenEnIncludes: 'Onboarding checklist' },
{ pattern: /发射代理/g, replacement: '启动代理', whenEnIncludes: 'Launch agent' },
{ pattern: /发射代理/g, replacement: '启动智能体', whenEnIncludes: 'Launch agent' },
{ pattern: /地位/g, replacement: '状态', whenEnIncludes: 'Status' },
{ pattern: /受让人/g, replacement: '负责人', whenEnIncludes: 'assignee' },
{ pattern: /开放工作区/g, replacement: '打开工作区', whenEnIncludes: 'Open workspace' },
Expand Down
4 changes: 2 additions & 2 deletions config/scripts/locale-search-keyword-overrides.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ export const SEARCH_KEYWORD_OVERRIDES = {
language: '语言',
locale: '区域设置',
translation: '翻译',
agent: '代理',
agents: '代理',
agent: '智能体',
agents: '智能体',
default: '默认',
command: '命令',
override: '覆盖',
Expand Down
4 changes: 2 additions & 2 deletions config/scripts/locale-translation-policy.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -267,15 +267,15 @@ describe('locale-translation-policy', () => {
localeValue: '未已检测代理',
locale: 'zh'
})
).toBe('未检测到代理')
).toBe('未检测到智能体')
expect(
repairTranslatedValue({
key: 'auto.components.skills.SkillsPage.38e0951c3a',
enValue: 'Agent Skills',
localeValue: '代理技巧',
locale: 'zh'
})
).toBe('代理技能')
).toBe('智能体技能')
expect(
repairTranslatedValue({
key: 'auto.components.settings.appearance.search.9ae151b26b',
Expand Down
10 changes: 6 additions & 4 deletions config/scripts/locale-translation-policy.zh-round5.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -132,23 +132,25 @@ describe('locale-translation-policy zh round 5', () => {
})

// Why: #12113 — brand names stay Latin, but generic workflow nouns keep their Chinese.
// Why: 智能体 is the canonical zh agent rendering (#12192) — a repair run must never
// rewrite it to 代理 (proxy semantics) or back to Latin "Agent".
it('keeps brand names English and generic workflow terms translated', () => {
expect(
repairTranslatedValue({
key: 'auto.components.sidebar.SidebarNav.9c95e1ce91',
enValue: 'Agents',
localeValue: '代理',
localeValue: '智能体',
locale: 'zh'
})
).toBe('代理')
).toBe('智能体')
expect(
repairTranslatedValue({
key: 'auto.components.GitHubItemDialog.28986b3747',
enValue: 'Started an AI agent for the broken checks.',
localeValue: '已启动 AI 代理处理失败的检查。',
localeValue: '已启动 AI 智能体处理失败的检查。',
locale: 'zh'
})
).toBe('已启动 AI 代理处理失败的检查。')
).toBe('已启动 AI 智能体处理失败的检查。')
expect(
repairTranslatedValue({
key: 'auto.components.LinearIssueMarkdownDescriptionEditor.d9c47069ef',
Expand Down
26 changes: 13 additions & 13 deletions config/scripts/locale-value-overrides.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ export const LOCALE_VALUE_OVERRIDES = {
Back: '返回',
Reopen: '重新打开',
Closed: '已关闭',
Agents: '代理',
agents: '代理',
Agents: '智能体',
agents: '智能体',
orchestration: '编排',
conflict: '冲突',
Disconnect: '断开连接',
Expand All @@ -197,7 +197,7 @@ export const LOCALE_VALUE_OVERRIDES = {
Optional: '可选',
Ports: '端口',
Active: '当前',
'Dismiss agent': '关闭代理',
'Dismiss agent': '关闭智能体',
'Codex Usage': 'Codex 使用情况',
'Claude Usage': 'Claude 使用情况',
'Gemini Usage': 'Gemini 使用情况',
Expand All @@ -208,7 +208,7 @@ export const LOCALE_VALUE_OVERRIDES = {
'Grok Usage': 'Grok 使用情况',
'Grok (xAI) Usage': 'Grok (xAI) 使用情况',
'Force Delete Branch': '强制删除分支',
'Time agents worked': '代理工作时间',
'Time agents worked': '智能体工作时间',
PR: 'PR',
linear: 'Linear',
jira: 'Jira',
Expand Down Expand Up @@ -277,7 +277,7 @@ export const LOCALE_VALUE_OVERRIDES = {
'Open workspace': '打开工作区',
'Search Linear issues...': '搜索 Linear 议题...',
'Search Linear projects...': '搜索 Linear 项目...',
'Launch agent': '启动代理',
'Launch agent': '启动智能体',
'Git AI Author': 'Git AI Author',
'Copy reference ID': '复制参考 ID',
'Try Again': '重试',
Expand Down Expand Up @@ -315,29 +315,29 @@ export const LOCALE_VALUE_OVERRIDES = {
// so a single value-wide mapping is wrong for half the call sites. Per-key catalog values decide.
'Join Discord': '加入 Discord',
'Pull request merged': '拉取请求已合并',
'Agent Skills': '代理技能',
'Agent skills': '代理技能',
'Agent skill': '代理技能',
'Agent Skills': '智能体技能',
'Agent skills': '智能体技能',
'Agent skill': '智能体技能',
'Browser Use skill': '浏览器使用技能',
'Install Browser Use Skill': '安装浏览器使用技能',
'Scanning skills': '正在扫描技能',
'Agent location': '代理位置',
'Agent location': '智能体位置',
Location: '位置',
'Account Location': '账户位置',
'Run location': '运行位置',
'more locations': '更多位置',
'No agents detected': '未检测到代理',
'No agents detected': '未检测到智能体',
'No external ports detected': '未检测到外部端口',
'No workspace ports detected': '未检测到工作区端口',
'No local ports detected': '未检测到本地端口',
'No ports detected': '未检测到端口',
'No speech detected.': '未检测到语音。',
'No enabled AI agent was detected on this workspace host.':
'此工作区主机上未检测到已启用的 AI 代理。',
'此工作区主机上未检测到已启用的 AI 智能体。',
'The selected agent was not detected on this workspace host.':
'此工作区主机上未检测到所选代理。',
'此工作区主机上未检测到所选智能体。',
'No agents detected on your PATH. Pick one to install later, or continue with a blank terminal.':
'PATH 中未检测到代理。可选择一个稍后安装,或使用空白终端继续。',
'PATH 中未检测到智能体。可选择一个稍后安装,或使用空白终端继续。',
'Jira issue': 'Jira 议题',
'New Jira issue': '新建 Jira 议题',
'Open in Jira': '在 Jira 中打开',
Expand Down
8 changes: 4 additions & 4 deletions config/scripts/locale-zh-value-overrides.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ export const ZH_VALUE_OVERRIDES = {
'Use review template when available': '可用时使用评审模板',
'Create hosted reviews as drafts unless changed in the composer.':
'除非在编辑器中更改,否则将托管评审创建为草稿。',
'Start an agent from failed hosted-review checks.': '从失败的托管评审检查中启动代理。',
'Start an agent from failed hosted-review checks.': '从失败的托管评审检查中启动智能体。',
'Checks require a Git branch and hosted review context': '检查需要 Git 分支和托管评审上下文',
'Resolve Review Conflicts With AI': '使用 AI 解决评审冲突',
'Hosted review operation in progress…': '托管评审操作进行中…',
Expand Down Expand Up @@ -166,7 +166,7 @@ export const ZH_VALUE_OVERRIDES = {
'Show local markdown review note controls in rich editor mode.':
'在富文本编辑器模式下显示本地 Markdown 评审笔记控件。',
'Start an agent for local or hosted-review merge conflicts.':
'启动用于解决本地或托管评审合并冲突的代理。',
'启动用于解决本地或托管评审合并冲突的智能体。',
'changed since you last approved. Re-review before it runs':
'自您上次批准以来已发生变化。运行前请重新评审',
'Run the weekly dependency audit and summarize risky changes.':
Expand All @@ -183,7 +183,7 @@ export const ZH_VALUE_OVERRIDES = {
'留空以使用系统代理设置和继承的代理环境变量。',
'Proxy Command': '代理命令',
"Give agents direct access to Orca's browser so they can test pages, capture screenshots, and act on what they see.":
'让代理直接访问 Orca 的浏览器,以便测试页面、捕获屏幕截图并根据所见内容执行操作。',
'让智能体直接访问 Orca 的浏览器,以便测试页面、捕获屏幕截图并根据所见内容执行操作。',
'X finishes, send it the review task.”': 'X 完成后,把评审任务发给它。”',
'Branch naming, base refs, and Git AI Author.': '分支命名、基础引用和 Git AI Author。',
'You have unsaved Git AI Author changes. Leaving will discard them.':
Expand Down Expand Up @@ -214,7 +214,7 @@ export const ZH_VALUE_OVERRIDES = {
'Optional account switching for Claude while preserving shared chat context.':
'Claude 的可选账户切换,同时保留共享聊天上下文。',
'Countdown timer showing time until prompt cache expires (Claude agents).':
'显示提示词缓存到期倒计时的计时器(Claude 代理)。',
'显示提示词缓存到期倒计时的计时器(Claude 智能体)。',
'Claude caches your conversation to reduce costs. When idle too long the cache expires and the next message resends full context at higher cost. This shows a countdown so you know when to resume.':
'Claude 会缓存对话以降低成本。空闲过久后缓存会过期,下一条消息将以更高成本重新发送完整上下文。此倒计时可帮助您了解何时继续。',
'from Orca. It is still on your disk.': '来自 Orca。它仍保留在您的磁盘上。',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ export function CompareSummary({
const commitsAheadTitle = showCommitsAhead
? translate(
'auto.components.right.sidebar.source.control.compare.summary.dd72a6fd37',
'{{value0}} commit{{value1}} ahead of {{value2}}',
{ value0: commitsAhead, value1: commitsAhead === 1 ? '' : 's', value2: summary.baseRef }
'Commits ahead of {{value2}}: {{value0}}',
{ value0: commitsAhead, value2: summary.baseRef }
)
: undefined

Expand Down
2 changes: 1 addition & 1 deletion src/renderer/src/i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -12564,7 +12564,7 @@
},
"compare": {
"summary": {
"dd72a6fd37": "{{value0}} commit{{value1}} ahead of {{value2}}"
"dd72a6fd37": "Commits ahead of {{value2}}: {{value0}}"
}
},
"conflict": {
Expand Down
Loading