You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS下Zsh已配置中文Locale但ll命令输出的"total"仍为英文

macOS下Zsh已配置中文Locale但ll命令输出的"total"仍为英文

我完全懂你这种摸不着头脑的感觉——把~/.zshrc和~/.zprofile里所有Locale相关的环境变量都改成zh_CN.UTF-8了,locale命令验证也全部生效,甚至终端里那些没实际功能的提示文字都乖乖变成中文了,可偏偏ll(本质是ls -l的别名)输出里的total还是顽固地显示英文,这反差感确实让人困惑。

其实问题出在macOS自带的ls命令上:它是BSD版本的ls,和Linux上常用的GNU版本ls在本地化支持上有差异。BSD版本的ls并没有把total这个词加入到中文本地化的翻译列表里,哪怕你把LC_MESSAGES设成了中文,它也不会去翻译这个词。

给你两个实用的解决办法:

  • 方案一:改用GNU版本的ls
    通过Homebrew安装GNU核心工具包:

    brew install coreutils
    

    安装完成后,GNU版本的ls会被命名为gls。你可以在~/.zshrc里重新定义ll的别名:

    alias ll='gls -l --color=auto'
    

    重启终端或者执行source ~/.zshrc后,再用ll命令,就能看到total变成中文的“总用量”了——GNU版本的工具对本地化支持更完善,会严格遵循LC_MESSAGES的设置。

  • 方案二:手动替换输出(临时 workaround)
    如果不想额外安装工具,可以给ll加个过滤,把输出里的total替换成中文:

    alias ll='ls -l | sed "s/total/总用量/"'
    

    这个方法简单粗暴,但能快速解决显示问题,不过如果ls输出里有其他包含total的字符串(概率极低),可能会被误替换。

总结一下,不是你的Locale配置有问题,是macOS自带的BSD ls本身没做这个细节的本地化适配,换GNU版本是最彻底的解决方式。

备注:内容来源于stack exchange,提问作者渐入佳境groove

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 10:54:17