chineselocalization插件仅能汉化顶部菜单栏和编辑区上下文菜单(main.sublime-menu、context.sublime-menu),无法汉化侧边栏右键菜单(如side bar.sublime-menu)和系统级右键菜单(如windows资源管理器集成)。

Sublime 的右键菜单汉化不能靠 ChineseLocalization 插件一键解决,它只管顶部菜单栏和设置面板;侧边栏、编辑区的右键项必须手动改 JSON 文件,且不同位置对应不同文件、不同 context 规则。
哪些右键菜单能被 ChineseLocalization 翻译?
ChineseLocalization 插件只处理 main.sublime-menu(顶部菜单栏)、context.sublime-menu(编辑区文本选中时的上下文菜单)等标准资源文件。它对以下两类完全无效:
- 侧边栏(Sidebar)右键菜单:如“New File”“Open in Terminal”,这些由
Side Bar.sublime-menu或插件自带的Default.sublime-menu控制,硬编码在插件源码或语言包中 - 系统级右键菜单(Windows 资源管理器里点文件出现的“用 Sublime 打开”):这归注册表管,和 Sublime 自身语言机制无关
侧边栏右键菜单怎么汉化?
必须手动编辑插件的菜单定义文件,且每类插件路径和方式不同:
- 如果是 SideBarEnhancements 插件:进
Packages/SideBarEnhancements/Default.sublime-menu,把所有"caption": "New File"改成"caption": "新建文件",注意保留英文双引号和逗号 - 如果是原生侧边栏项(如“Reveal in Side Bar”):需覆盖
Packages/User/Side Bar.sublime-menu,从Packages/Default.sublime-package解压出原始内容再翻译caption字段 - 改完必须彻底退出 Sublime(Ctrl+Q / Cmd+Q),仅 Ctrl+R 不重载菜单定义
- Linux 用户还要确认输入法前端已装全:
fcitx5-frontend-gtk3和fcitx5-frontend-qt5缺一不可,否则中文菜单能显示但无法输入
编辑区右键菜单(Context Menu)怎么汉化?
这个最可控,但必须写对路径和格式:
- 只认
Packages/User/Context.sublime-menu这一个位置,其他路径(如Packages/Default/Context.sublime-menu)改了也无效 - 文件名必须是
Context.sublime-menu(C 大写,后缀不能是 .txt),编码必须为 UTF-8 无 BOM - 想让某条目只在 Python 文件里出现,得加 context:
{"key":"selector","operator":"equal","operand":"source.python"};若想让它在任意文本选中时都出现,就别加 context 字段 - 内置命令如
open_in_browser的 caption 是硬编码在语言包里的,你无法通过改Context.sublime-menu翻译它——只能覆盖Packages/User/Context.sublime-menu并重写整条项,例如:{"caption":"在浏览器中打开","command":"open_in_browser"}
为什么改了 caption 还是显示英文?
常见失效不是语法错,而是三个“没对上”:
- 命令名拼错:
"command":"copy_path"写成"copy_filepath"或"copy-path",菜单项直接不渲染 - context 条件不满足:比如用
"node_type":"file"却在编辑区空白处右键,该项就不会出现 - 路径放错位置:把
Context.sublime-menu放进Packages/Default/或某个插件目录下,Sublime 根本不读 - JSON 格式破坏:中文引号用了全角、末尾多逗号、漏大括号——会导致整个菜单文件解析失败,右键变空
真正麻烦的不是翻译本身,而是每个菜单项背后都有独立的 context 判断逻辑和命令依赖链;改一个 caption 容易,让整个右键菜单稳定响应中文指令,得同时盯住文件位置、JSON 结构、插件状态、系统输入法四层。











