phpmyadmin改中文需设$cfg['lang'] = 'zh_cn';并确保locale/zh_cn/lc_messages/phpmyadmin.mo存在,否则静默回退英文;还需重启web服务并清除浏览器缓存。
phpmyadmin 默认语言是英文,改中文只需修改配置文件中的 $cfg['lang'] 值,但必须确保对应语言包实际存在且未被禁用。
确认 phpMyAdmin 是否已内置简体中文语言包
新版 phpMyAdmin(5.0+)默认包含 zh_CN 语言包,但部分精简版或 Docker 镜像可能移除了非英文 locale 文件。先检查路径:
/usr/share/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo(Linux 系统常见路径)
或/path/to/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo
如果该文件不存在,$cfg['Lang'] = 'zh_CN'; 会静默回退到英文,不会报错也不会提示。
可执行以下命令快速验证:
ls -l /usr/share/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo 2>/dev/null || echo "zh_CN 语言包缺失"
修改 config.inc.php 设置默认语言
编辑主配置文件 config.inc.php(通常位于 phpMyAdmin 安装根目录),在 $cfg['Servers'] 配置块之后、文件末尾之前添加或修改:
-
$cfg['Lang'] = 'zh_CN';—— 强制全局使用简体中文 -
$cfg['ForceLanguage'] = true;—— 阻止用户通过界面切换语言(可选,避免覆盖)
⚠️ 注意:$cfg['Lang'] 必须是字符串,不能写成 zh-cn 或 zh_CN.UTF-8;大小写敏感,只认 zh_CN。
改完后务必重启 Web 服务(如 sudo systemctl restart apache2 或 sudo systemctl restart php-fpm nginx),否则缓存可能导致设置不生效。
浏览器语言设置干扰导致“改了没用”
phpMyAdmin 默认按浏览器 Accept-Language 头自动匹配语言。即使设置了 $cfg['Lang'],若 $cfg['ForceLanguage'] 为 false(默认值),且浏览器发送的请求头里 zh-CN 排在 en-US 之前,仍可能触发自动识别逻辑——但若服务器没装对应 locale,最终还是英文。
排查方法:
- 用 Chrome 开无痕窗口访问,禁用所有扩展
- 在开发者工具 Network 标签页中查看任意请求的 Request Headers,找
Accept-Language字段内容 - 临时在
config.inc.php中加一行:$cfg['Verbose'] = 'debug-lang';(仅调试),然后看登录页底部是否显示当前生效语言
中文界面部分字段仍是英文?检查插件与第三方扩展
某些功能(如 Designer 页面的按钮、部分插件弹窗、SQL 查询分析器里的术语)可能硬编码为英文,或依赖未汉化的 JS 模块。这不是配置问题,而是语言包覆盖不全。
这类情况常见于:
- 启用了
pdf_schema或transformations等旧插件 - 使用了自定义主题或前端增强脚本(如 pma-extended)
- phpMyAdmin 版本低于 5.2.0,
zh_CN翻译完成度较低
可访问 phpMyAdmin 翻译平台 查看对应版本的 zh_CN 完成率。若关键字符串缺失,只能等上游更新或手动补翻译文件。
真正容易被忽略的是:改完配置后没清浏览器缓存,尤其是 Service Worker 或预加载资源,会导致旧 JS/CSS 继续运行,界面上看起来“一半中文一半英文”。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











