fix(i18n/zh): correct technical literals and clear sense errors (#10048)

This commit is contained in:
Wooseong Kim
2026-07-26 01:58:24 -07:00
committed by GitHub
parent cd4064689d
commit 81495f4ba0
2 changed files with 106 additions and 43 deletions
+43 -43
View File
@@ -878,7 +878,7 @@
"f2d02cdf8c": "已查看文件",
"1257d1435d": "显示文件树",
"a341343303": "已添加评审评论。",
"d1fa2cf888": "没有PR负责人 SHA 无法发表评论。",
"d1fa2cf888": "没有 PR head SHA 无法发表评论。",
"829674460a": "Diff 不可用,因为 PR commit SHA 丢失。",
"af924014f8": "已查看",
"2d89a38d9d": "{{value0}} {{value1}} 为已查看",
@@ -1167,7 +1167,7 @@
"cddd9b04a7": "加载标签",
"23886c7eec": "添加标签",
"7f7b89b631": "标签: {{value0}}",
"b2376d0179": "正在加载员",
"b2376d0179": "正在加载员",
"866316f22c": "未分配",
"b5675b0694": "保存",
"ceeb8c6153": "清除",
@@ -1375,7 +1375,7 @@
"89e80af1c7": "已查看文件",
"319cf2d54b": "显示文件树",
"eff839f438": "已添加评审评论。",
"d8c3ba91c4": "没有PR负责人 SHA 无法发表评论。",
"d8c3ba91c4": "没有 PR head SHA 无法发表评论。",
"74660bd80b": "Diff 不可用,因为 PR commit SHA 丢失。",
"2e528e1c2d": "已查看",
"ff84e1f54c": "{{value0}} {{value1}} 为已查看",
@@ -1534,7 +1534,7 @@
"09623359b9": "开始日期",
"7d08e8be0f": "开始",
"af9e877f30": "无标签",
"d6cda23ef1": "员",
"d6cda23ef1": "员",
"cfaadb6b22": "无负责人",
"34da8ac06c": "负责人",
"579f98afcd": "添加简短摘要...",
@@ -1573,7 +1573,7 @@
"8675cd6188": "Linear",
"733b8f2421": "Linear/视图",
"bc06ed0fb0": "返回视图",
"3cb855080f": "意见",
"3cb855080f": "视图",
"b4e10f096e": "所有者",
"a04fe7ba73": "可见性",
"0aa8525950": "模型",
@@ -1694,7 +1694,7 @@
"50387522d7": "没有分组",
"d747aed72f": "看板",
"a6f7e93d7f": "列表",
"e78ec261ed": "意见",
"e78ec261ed": "视图",
"727069bee5": "项目",
"137e2a8a01": "PR",
"18451e99df": "完成",
@@ -1874,7 +1874,7 @@
"8bc9e17d8f": "Show details"
},
"WorktreeJumpPalette": {
"ac037cfac2": "手机",
"ac037cfac2": "移动",
"75499e01d9": "关闭",
"66b5a67bee": "Esc键",
"45def60329": "打开",
@@ -2111,7 +2111,7 @@
"d6aeb2012b": "显示议题来自",
"787c970baf": "议题来源",
"643d7e9496": "上游",
"51d1608920": "起源",
"51d1608920": "origin",
"cdc9bd64fa": "紧凑",
"30b2c9df91": "上游"
},
@@ -2254,7 +2254,7 @@
"8bbecb2510": "没有任何",
"e1fa97d21d": "选择一个项目以查看其概述。",
"1748d3b9af": "标签",
"65bda65159": "员",
"65bda65159": "员",
"c5f79616c3": "团队",
"25a2196732": "目标",
"3fb6473111": "开始",
@@ -2527,7 +2527,7 @@
},
"TerminalQuickCommandDialog": {
"925b8e0f6e": "高级",
"97e96cc027": "/目标",
"97e96cc027": "/goal",
"e604bd40d6": "支持技能、文件路径和内置命令,例如",
"79af0c0841": "npm run dev",
"577a342c7d": "要求智能体调查此工作区",
@@ -3008,7 +3008,7 @@
"996295bff2": "孤儿终端",
"92924a14e3": "查看非活跃工作区 ({{value0}})",
"27a74f91f0": "现在没有任何运行",
"1b24a32d3a": "记忆",
"1b24a32d3a": "内存",
"298f4be7f2": "中央处理器",
"2aa2de6cb9": "姓名",
"30ff2c3c31": "{{value0}} 个孤立项",
@@ -3197,7 +3197,7 @@
"eee5240810": "工作区已删除",
"9afc97f9a3": "工作区已删除",
"792a214457": "删除工作区",
"a998501630": "力量",
"a998501630": "强制",
"9155381019": "疏",
"f39d291997": "选择",
"16988df079": "没有找到文件。",
@@ -3946,7 +3946,7 @@
"f3e2b868fb": "运行钩子",
"43b7bec4cd": "别跑",
"c494b3ccb1": "在",
"79afc6772b": "Orca.yaml",
"79afc6772b": "orca.yaml",
"531689199b": "永远信任",
"bf800b7e04": "。仅当您信任时才运行",
"831f2cd9f0": "在你的机器上运行",
@@ -4023,7 +4023,7 @@
"b56d1322f7": "找到一个设置命令",
"aef6c0a213": "保存已检测的命令,以便在 Orca 创建工作树时运行它。",
"660cdc17f8": "设置脚本。添加本地命令,或在“设置”中更改源。",
"8f6be51aa1": "Orca.yaml",
"8f6be51aa1": "orca.yaml",
"bb879db364": "此仓库忽略共享",
"0155fb9ed3": "目前无法验证此仓库的设置脚本。",
"eefa756190": "手动配置",
@@ -4321,7 +4321,7 @@
"2931b42b09": "状态:草案 {{value0}}",
"e888362def": "状态: 关闭",
"f394b3e86e": "状态:合并",
"af2b07bda5": "{{value0}}",
"af2b07bda5": "状态{{value0}}",
"29df45afa2": "MR"
},
"WorktreeCardPorts": {
@@ -4418,7 +4418,7 @@
"9c1d1e9b71": "评论",
"5ae06f40fd": "粘贴PR URL,或输入数字。留空以删除链接。",
"077a4f7b5c": "PR # 或 GitHub URL",
"1b91db7e14": "生长激素受体",
"1b91db7e14": "GH PR",
"7c454be4c5": "粘贴议题 URL,或输入数字。留空以删除链接。",
"029ea5ec57": "打开 GitHub 议题",
"741279e7b7": "议题编号或 GitHub URL",
@@ -5115,7 +5115,7 @@
"1c9a9679ec": "{{value0}} 可用性",
"0d9e293a02": "刷新",
"c9b33eb5c0": "刷新中…",
"13647f9f80": "重新读取您的 shell 路径并重新检测已安装的智能体",
"13647f9f80": "重新读取 shell PATH 并重新检测已安装的智能体",
"dc4a2ffdc0": "扩展命令覆盖",
"cea7d97be1": "折叠命令覆盖",
"db9e9e5887": "自定义命令",
@@ -5856,7 +5856,7 @@
"92f0b4e472": "清除",
"9f741627a7": "Kagi 会话链接已清除。",
"d5c8b94c5b": "保存",
"ff450194cd": "卡吉私人会话链接",
"ff450194cd": "Kagi 私密会话链接",
"e383683485": "https://kagi.com/search?token=...",
"81409d9362": "Kagi 身份验证的可选私人会话链接。",
"3e5b7c6c25": "Kagi 会话链接已保存。",
@@ -6866,8 +6866,8 @@
"2de6b5a699": "使用所选光标形状的闪烁变体。",
"74736cc9b1": "闪烁 Cursor",
"2e5aec3cf6": "强调",
"52854a5608": "堵塞",
"e070e8aeba": "酒吧",
"52854a5608": "块状",
"e070e8aeba": "竖线",
"db270cc9a9": "Cursor 形状",
"d455f2ef4f": "Orca 终端窗格的默认光标外观。",
"abcb4dd019": "终端光标",
@@ -7009,9 +7009,9 @@
"d06664e889": "黑暗的"
},
"TerminalThemeSections": {
"db210115c5": "灯光模式预览",
"db210115c5": "浅色模式预览",
"5e0c24b5c8": "控制浅色模式下窗格之间的分割分隔线。",
"ec2e33ad80": "分光器颜色",
"ec2e33ad80": "浅色模式分隔线颜色",
"d56af60e6f": "选择 Orca 处于浅色模式时使用的主题。",
"8273bc75d7": "浅色主题",
"bc8e8a251a": "深色模式预览",
@@ -7386,7 +7386,7 @@
"90bdc043ea": "磁盘",
"96b4fb0064": "终端",
"4ddbde4999": "中央处理器",
"4355f18ac6": "记忆",
"4355f18ac6": "内存",
"9c4d5f0894": "经理",
"c690a15849": "资源",
"81ef5abc2f": "在状态栏中显示 CPU、内存、终端会话和工作区磁盘使用情况。",
@@ -8614,7 +8614,7 @@
"7286cd2566": "单词",
"3ab64c47d8": "双击选择时将字符视为单词边界。",
"957a0203fc": "单词分隔符",
"56fff3d113": "记忆",
"56fff3d113": "内存",
"fffdff40a7": "缓冲",
"rows": "行",
"f7d56b6281": "保留的桌面终端行数。",
@@ -8622,11 +8622,11 @@
"411229c636": "浅色",
"781f49d942": "分隔线",
"77d9f9cd55": "控制浅色模式下窗格之间的分割分隔线。",
"595b97b446": "分光器颜色",
"595b97b446": "浅色模式分隔线颜色",
"7718d70356": "预览",
"1dee533bd9": "选择 Orca 处于浅色模式时使用的主题。",
"1d89457764": "浅色主题",
"da864e6cec": "灯光模式",
"da864e6cec": "浅色模式",
"f268092ee3": "浅色模式可以使用自己的终端主题。",
"match_dark_mode_title": "匹配深色模式",
"f785374072": "深色",
@@ -9428,7 +9428,7 @@
"sidebar": {
"BulkActionBar": {
"79a9f5f712": "取消暂存(",
"ef5f5bd06e": "阶段 ",
"ef5f5bd06e": "暂存",
"60ed678138": "已选择"
},
"ChecksPanel": {
@@ -9609,7 +9609,7 @@
"d57545ff92": "与远程相同",
"b950b1948b": "本地端口",
"9e5a4118b0": "远程端口",
"c9d106547a": "向前",
"c9d106547a": "转发",
"c7e920aa7c": "公开为 {{value0}}",
"e740075063": "移除",
"b3548e59f4": "编辑",
@@ -9630,7 +9630,7 @@
"153145e675": "证据",
"c7b4702b7b": "工作区",
"57d930fa45": "PID",
"5dd86dcf2f": "程",
"5dd86dcf2f": "程",
"b1ff94fa27": "协议",
"729be0b4e5": "种类",
"0f1d8cd324": "绑定",
@@ -9792,7 +9792,7 @@
"eae7a1da5f": "无法清除笔记。",
"657e0c90ad": "{{value0}} 注{{value1}}",
"df5040e3c3": "取消暂存",
"8cde1a2fb0": "阶段",
"8cde1a2fb0": "暂存",
"d54dd48b0b": "放弃更改",
"989f3d5e34": "恢复文件",
"2830dd64a2": "已删除",
@@ -9837,7 +9837,7 @@
"2f609a2e7c": "删除所有未跟踪的",
"9bb062a886": "未提交",
"9febd8ab5f": "创建_pr",
"f62ce91ade": "起源",
"f62ce91ade": "origin",
"3a231c845b": "未知",
"3baf6c77b4": "将所有笔记复制到剪贴板",
"72f2bea3f4": "展开注释",
@@ -9937,7 +9937,7 @@
"1bc0bdbb5e": "启动:",
"7ec6abbf2a": "重置",
"f4f3c9ca4a": "提示词模板",
"fe119187bb": "——模范十四行诗",
"fe119187bb": "--model sonnet",
"bc8dc39f4b": "CLI 参数",
"b99c33cec5": "设置",
"15c5d85706": "智能体",
@@ -9968,7 +9968,7 @@
"25fcd8e49a": "保存默认值",
"d91b0a189d": "保存预设",
"1f6fcfb6cf": "提示词模板",
"551ffd111b": "——模范十四行诗",
"551ffd111b": "--model sonnet",
"4eab815004": "CLI 参数",
"914c8f6ac2": "自定义命令",
"cce2cbd01d": "选择智能体",
@@ -11173,7 +11173,7 @@
"da121ba48d": "计划.md",
"e4befee569": "Shell",
"606aa93192": "文件",
"94febb0976": "源头控制",
"94febb0976": "源代码管理",
"8d6516312d": "2 个终端 · Claude 活跃",
"8432787c4e": "壮举/手机页面",
"8fd998acd3": "返回"
@@ -11446,7 +11446,7 @@
"00078a6134": "在设置中查看",
"14327073cc": "保存",
"88469e926b": "设置脚本",
"5c5b65044e": "即插即用安装",
"5c5b65044e": "pnpm install",
"a7463915b6": "无法保存设置脚本",
"6299297dac": "设置脚本已保存",
"f0bbf7da77": "尝试一下",
@@ -12179,7 +12179,7 @@
"9e384d48dc": "Swift",
"3009f722b9": "SQL",
"d01f55be57": "shell",
"5af8251002": "社会保障体系",
"5af8251002": "SCSS",
"e72e6b03f4": "Rust",
"96182a2f64": "Ruby",
"2391f9cda9": "Python",
@@ -12690,7 +12690,7 @@
"a6914ee43f": "收回",
"f4ecd61552": "该选项卡由您的手机控制。收回来在桌面上使用它。",
"d9768ec642": "浏览器输入已暂停",
"20539eca03": "手机设备正在推动该浏览器的发展"
"20539eca03": "移动端正在控制此浏览器"
},
"BrowserPane": {
"1ded0d3168": "复制截图",
@@ -12705,7 +12705,7 @@
"a3508d7e6e": "{{value0}} 注释{{value1}} 准备就绪。选择另一个元素或复制所有反馈。",
"f796c774a4": "在上面输入 URL 即可开始浏览。",
"366bf5d62c": "新标签",
"1c78adc73d": "对外开放",
"1c78adc73d": "在外部打开",
"da68d35f7b": "在默认浏览器中打开失败页面",
"93be92f8d1": "复制地址",
"3c085f638d": "复制失败页面 URL",
@@ -12874,7 +12874,7 @@
"b28b140eaf": "工作区",
"0d17f4ca8f": "选择项目",
"02d351877e": "项目",
"a4ac8fcc62": "/目标",
"a4ac8fcc62": "/goal",
"827b25a81e": "支持技能、文件路径和内置命令,例如",
"6d778190b7": "每周运行依赖项审计并总结有风险的更改。",
"058c23cb3f": "提示词",
@@ -12891,7 +12891,7 @@
"58f56b73d9": "自动化名称",
"1d9826933e": "工作日仓库审计",
"4133d33862": "创建自动化",
"0a75e5e2fa": "创建爱马仕自动化",
"0a75e5e2fa": "创建 Hermes 自动化",
"03142e7721": "编辑 Hermes 自动化",
"17086b48ee": "编辑自动化"
},
@@ -12995,7 +12995,7 @@
"b11170a008": "无法保存自动化。",
"2a20596d6b": "自动化已保存。",
"244727e655": "自动化已更新。",
"77b81bc4ac": "爱马仕自动化创建。",
"77b81bc4ac": "Hermes 自动化创建。",
"08efc3ae12": "Hermes 自动化已更新。",
"e431bb85d4": "选择与此 Hermes 自动化位于同一主机上的工作区。",
"32534e7c9c": "保存前选择一个可用的工作区。",
@@ -13008,7 +13008,7 @@
"8705757e27": "工作",
"376631ef2b": "恢复",
"b457436d6a": "暂停",
"0ae52dd760": "爱马仕",
"0ae52dd760": "Hermes",
"e059042585": "只读",
"aecdc3681f": "易于管理",
"8500baacb4": "外部来源",
@@ -13046,7 +13046,7 @@
"c6695e6fbd": "外部自动化",
"5524365227": "OpenClaw",
"766abf833c": "Hermes",
"bf5f67b590": "爱马仕",
"bf5f67b590": "Hermes",
"e66091daf4": "运行",
"8e9165af08": "执行",
"2b0adbce21": "已暂停",
@@ -0,0 +1,63 @@
/**
* Issue #9574 — high-confidence Simplified Chinese semantic fixes.
* Guards the anchor GH PR mistranslation and a sample of technical literals /
* clear sense errors so bootstrap re-translation cannot silently regress them.
*/
import { describe, expect, it } from 'vitest'
import zh from './locales/zh.json'
function findByKey(node: unknown, key: string): string | undefined {
if (!node || typeof node !== 'object') {
return undefined
}
if (Array.isArray(node)) {
for (const item of node) {
const found = findByKey(item, key)
if (found !== undefined) {
return found
}
}
return undefined
}
const record = node as Record<string, unknown>
if (typeof record[key] === 'string') {
return record[key] as string
}
for (const value of Object.values(record)) {
const found = findByKey(value, key)
if (found !== undefined) {
return found
}
}
return undefined
}
describe('zh technical literal / sense fixes (#9574)', () => {
it('keeps GH PR as a technical literal (not 生长激素受体)', () => {
expect(findByKey(zh, '1b91db7e14')).toBe('GH PR')
})
it('keeps CLI / product technical strings un-translated', () => {
expect(findByKey(zh, 'fe119187bb')).toBe('--model sonnet')
expect(findByKey(zh, '5c5b65044e')).toBe('pnpm install')
expect(findByKey(zh, '5af8251002')).toBe('SCSS')
expect(findByKey(zh, '97e96cc027')).toBe('/goal')
expect(findByKey(zh, 'f62ce91ade')).toBe('origin')
expect(findByKey(zh, '79afc6772b')).toBe('orca.yaml')
})
it('uses the correct sense for short UI verbs/nouns', () => {
expect(findByKey(zh, 'ac037cfac2')).toBe('移动') // Move, not 手机
expect(findByKey(zh, '1b24a32d3a')).toBe('内存') // Memory, not 记忆
expect(findByKey(zh, '8cde1a2fb0')).toBe('暂存') // Stage, not 阶段
expect(findByKey(zh, 'af2b07bda5')).toBe('状态:{{value0}}') // State, not 州
expect(findByKey(zh, 'e070e8aeba')).toBe('竖线') // Bar cursor
expect(findByKey(zh, '52854a5608')).toBe('块状') // Block cursor
})
it('preserves brand names in product copy', () => {
expect(findByKey(zh, '855a76343a')).toBe('从 Ghostty 导入')
expect(findByKey(zh, '0a75e5e2fa')).toBe('创建 Hermes 自动化')
expect(findByKey(zh, 'ff450194cd')).toBe('Kagi 私密会话链接')
})
})