Sublime Text右键菜单汉化需修改语言包JSON文件中的"caption"字段,推荐用覆盖目录方式避免升级覆盖;必须确保context条件匹配、命令存在且拼写正确,否则中文项无法响应。

右键菜单汉化本质是改语言包,不是改注册表或系统设置
Sublime Text 的右键菜单文字来自其内置语言包(Default.sublime-menu 和 Side Bar.sublime-menu),不依赖 Windows 区域设置或第三方工具。直接修改对应 JSON 文件里的 "caption" 字段即可生效,但必须注意:升级 Sublime 后这些改动会被覆盖,所以推荐用「覆盖目录」方式持久化。
操作路径(以 Sublime Text 4 为例):
- 打开
Preferences → Browse Packages…,进入用户包目录 - 新建文件夹
Default(若不存在) - 在该
Default文件夹内新建Side Bar.sublime-menu和Context.sublime-menu(旧版叫Default.sublime-menu) - 从
Packages/Default.sublime-package(压缩包,可用 7-Zip 打开)中提取原始文件,复制内容到新建文件中,再逐条翻译"caption": "Open File"→"caption": "打开文件"
⚠️ 注意:"command"、"args" 等字段绝对不能动,只改 "caption" 和 "caption_en"(如有);中文引号必须用英文双引号,否则 JSON 解析失败导致菜单消失。
自定义右键菜单项必须写对 context 条件,否则不显示
Sublime 的右键菜单是否出现某一项,取决于 "context" 数组里是否匹配当前光标位置或选中对象类型。比如想让「在终端打开当前文件夹」只出现在侧边栏文件夹上,就得写:
{
"caption": "在终端打开",
"command": "open_terminal_project_folder",
"context": [
{ "key": "selector", "operator": "equal", "operand": "text" },
{ "key": "setting.sidebar_visible", "operator": "equal", "operand": true }
]
}
但上面写法是错的——"selector" 在侧边栏无效。正确写法应是:
-
{ "key": "side_bar", "operator": "equal", "operand": true }(表示在侧边栏区域) -
{ "key": "selection_empty", "operator": "equal", "operand": true }(确保没选中文本) -
{ "key": "is_folder", "operator": "equal", "operand": true }(仅对文件夹生效)
常见失效原因:漏掉 "side_bar" 判断、误用 "selector"、或把 "operand" 写成字符串 "true"(应为布尔值 true)。
open_in_browser 类命令默认英文,汉化需重映射命令名
像 open_in_browser、copy_path 这类内置命令的菜单项,其 "caption" 是硬编码在语言包里的。你无法靠改 Side Bar.sublime-menu 直接翻译它——因为这些命令由插件或核心触发,菜单项实际来自 Default.sublime-package 中的 Main.sublime-menu。
解决办法是「覆盖命令定义」:
- 在
Packages/User/下新建Default.sublime-commands - 写入:
[
{
"caption": "在浏览器中打开",
"command": "open_in_browser"
}
]
然后在 Side Bar.sublime-menu 中引用这个新 caption,而不是直接写 "open_in_browser" 命令。否则 Sublime 会优先加载原生英文项,你的中文项被忽略。
中文菜单项点击无响应?大概率是命令名拼错或插件未安装
加了中文 caption 却点不动,不是汉化失败,而是命令本身不可用。典型情况:
-
"command": "open_terminal_project_folder"—— 该命令属于Terminus或ShellCommand插件,没装插件就只是个摆设 -
"command": "expand_selection_to_paragraph"—— Sublime 4 已移除此命令,应换用expand_selection_to_block -
"command": "build_with"—— 需先配置.sublime-build文件,否则菜单存在但点击报错No build system found
验证方法:按 Ctrl+Shift+P 输入命令名,看是否可搜到并执行。搜不到,说明命令不存在或拼写错误——这时候汉化再漂亮也没用。
真正麻烦的不是翻译,是每个中文菜单项背后都得确认命令存在、上下文匹配、参数兼容。改完一个菜单项,最好重启 Sublime 并在不同场景(编辑区/侧边栏/空桌面)分别测试。











