Ctrl+Shift+Y没反应需先检查快捷键冲突:进入Settings→Keymap搜索Translate,若显示“Conflicts with...”则右键Remove后重新Assign;Mac用户应使用Cmd+Shift+Y而非Ctrl键。

Translation 插件按 Ctrl+Shift+Y 没反应?先检查快捷键是否被覆盖
Translation 插件默认用 Ctrl+Shift+Y 翻译选中文本,但这个组合键在部分系统或插件下容易冲突。比如 Key Promoter X、IDEA Vim 或某些自定义宏可能劫持了它。
实操建议:
- 进
Settings → Keymap,搜索Translate,确认绑定的是Translation → Translate动作 - 若显示“Conflicts with...”,右键该快捷键 →
Remove再重新 Assign - 首次使用时插件会下载词典,稍有延迟,别急着连按——连续触发三次可能触发禁用保护
- Mac 用户注意:快捷键是
Cmd+Shift+Y,不是Ctrl
翻译 PHPDoc 注释时乱码或漏译?别直接 Ctrl+Shift+Y 全选
PHPDoc 里常混着 @param、@return、代码片段(如 $array = [])和纯描述文本。Translation 插件对 Markdown/PHPDoc 结构无感知,全选后会把语法标记当普通文字翻,结果就是“参数数组”变成“参数阵列”,甚至把 int|null 翻成“整数或空值”这种不规范表述。
正确做法:
立即学习“PHP免费学习笔记(深入)”;
- 只选中自然语言段落(比如
/** 从数据库获取用户列表 */中的中文部分) - 遇到
@see或@link行,跳过不选——这些是引用,不是说明 - 函数签名行(如
function getUser(int $id): ?User)绝对不要选,否则会破坏类型提示 - 想批量处理整个文件注释?用
Ctrl+Shift+O打开翻译面板,粘贴纯文本再译,可控性更高
为什么翻译 Laravel 的 Facade 方法名总出错?得关掉“自动检测语言”
Laravel 文档里大量使用 Auth::user()、Cache::get() 这类写法。Translation 插件开启“自动检测语言”后,会把 Auth 当作英文单词(auth 是“授权”),把 Cache 当作名词(缓存),结果译成“授权::用户()”“缓存::获取()”,语义完全跑偏。
解决方式很直接:
- 打开
Settings → Other Settings → Translation - 取消勾选
Auto-detect language - 手动将源语言设为
English,目标语言设为Chinese (Simplified) - 对这类框架专用词,建议在
Custom Dictionary里加白名单:Auth → 认证门面、Cache → 缓存门面,避免反复误译
翻译后替换代码里的英文变量名?小心破坏 PSR-2 和类型推导
有人习惯用 Translate and Replace 把 $response 直接替换成 $响应。这看似省事,但 PhpStorm 的类型系统依赖 ASCII 变量名做符号解析,非 ASCII 名称会导致:
-
phpstan/psalm静态分析报错Invalid character in variable name - Laravel IDE Helper 生成的 stub 文件无法识别该变量
- Git diff 显示乱码,协作时别人根本看不懂你改了啥
- 某些 PHP 扩展(如 opcache)在严格模式下拒绝加载含 Unicode 变量名的文件
真正安全的做法是:只翻译注释、文档字符串、日志文案;变量名、方法名、类名坚持用英文——这是行业事实标准,不是个人偏好问题。


















