composer原生仅支持英文输出,所谓中文界面实为第三方语言包(如csineneo/lang-traditional-chinese)通过字符串替换实现;卸载该类包并清缓存即可恢复纯英文输出,修改lang或composer.json配置无效。

Composer 本身没有中文汉化能力,所谓“完全汉化”是错觉——它原生只输出英文,所有中文(包括繁体)都来自第三方语言包的字符串替换,稳定性差、易冲突、不推荐。
为什么改 LANG 或 composer.json 的 extra.language 没用
这些配置对 Composer 命令行输出完全无效:
-
export LANG=zh_CN.UTF-8只影响极少数 PHP 函数(如strftime),而 Composer 的提示文案是硬编码英文字符串,不走系统 locale -
composer.json里加"extra": {"language": "zh"}是老插件(如已废弃的fxp-asset-plugin)用的字段,Composer 2.2+ 直接忽略 -
composer config --global写 language 字段会报错:Unknown configuration setting
你看到的繁体中文大概率是 csineneo/lang-traditional-chinese
这个包通过拦截输出、逐行替换字符串实现“翻译”,但问题很多:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 更新滞后,常和新版 Composer 冲突,导致
composer install报错时提示是繁体(如「錯誤」、「無法」) -
composer diagnose或composer --help输出混杂中英文,说明插件正在运行但已部分失效 - 卸载后若仍显示中文,大概率是终端或 shell 的 locale 设置干扰了字符渲染,不是 Composer 本身的问题
彻底禁用中文并回归英文输出的三步操作
不需要改任何配置,只需清理:
- 运行
composer show csineneo/lang-traditional-chinese确认是否安装;如有,执行composer remove csineneo/lang-traditional-chinese - 顺手检查简体包:
composer show csineneo/lang-simplified-chinese,如有也remove - 执行
composer clear-cache清掉可能残留的翻译缓存
做完这三步,所有 composer 命令输出就是纯英文了。别试图“切换语言”,Composer 本就不支持——你只是把它从被污染的状态,还原回出厂状态。
真正容易被忽略的是:即使你没主动装过语言包,某些团队脚手架或全局 composer create-project 模板可能默认集成了它。建议在 CI 流水线或新项目初始化阶段就跑一遍 composer show | grep -i chinese 做兜底检查。










