简介:面向 Navicat 16 Premium 中文用户的中文语言包,可直接解决英文界面带来的操作门槛,适合在 macOS 上使用 Navicat 管理 MySQL、MariaDB、Oracle、SQL Server 等数据库的开发者与运维人员,也适合初次接触英文界面、希望快速上手的用户。压缩包共 1304 个文件,约 7.82MB,核心为简体中文本地化资源目录 zh-Hans.lproj;其中 strings 负责界面文本翻译,png 覆盖菜单、按钮和状态图标,html 是离线帮助文档,另含少量 js、css 辅助资源,便于核对资源结构和定位缺失项。该资源已在 macOS 系统验证可行,Windows 用户可参考其资源加载逻辑,再结合官方或第三方汉化方案实现中文界面。截至当前已有 19462 人学习下载,覆盖场景较广。拿到压缩包后可获得完整的简体中文语言文件与帮助页面,熟悉应用包 Resources 目录的组织方式,对理解软件本地化机制也有直接参考价值,同时便于排查汉化不生效时的资源缺失问题。
1. Navicat 16 Premium 中文语言包:一个外置语言文件让界面彻底中文化
Navicat 16 Premium 中文语言包解决的是一类很具体的问题:升级到 16 Premium 后,满屏英文菜单确实有点劝退。弹出 Connection Properties 时鼠标还能指过去,但 Object Panel、External Data 这些术语一多,脑子里总要先翻译一遍。这套语言包干的事很简单——把主界面、右键菜单、工具栏和向导窗口里的显示文字全部切到简体中文,不碰数据库连接,不碰已存 SQL,不动数据文件。适用人群明确:正在用 16 Premium 却被英文界面拖慢操作的开发者。严格来说它不是安装程序,而是一组 .qm 文件,放到安装目录再切一下语言就能生效。下文先讲机制,再给安装步骤,最后是踩坑记录。
2. 语言包生效原理:Qt 翻译机制与 qm 文件结构
2.1 界面文字不是写死的:Qt 的翻译管道
Navicat 16 Premium 是典型的 Qt 程序。界面上的 File、Tools、Connections 这些词,并不是直接写死在窗口代码里的字符串。开发阶段,每个按钮、菜单、提示框的文本都会用包装函数包裹,程序源码保留英文原串,同时生成一份待翻译清单。这份清单经过翻译后,会被编译成一种紧凑的二进制翻译文件,后缀名通常叫 .qm。程序启动时根据当前语言环境去文件系统里找对应的 .qm,找到了就把英文字符串替换成中文。
很多人第一次拿到语言包,以为只要复制文件进去就能看到中文,结果重启后发现还是英文,于是开始怀疑资源有问题。其实问题多半出在“程序根本不知道要用这份翻译文件”。因为语言选择不是一个自动探测的过程,它依赖三点:文件放的位置对不对、文件名与语言标识是否匹配、设置里的语言选项是否切到了简体中文。
2.2 程序如何决定用哪种语言:回退顺序
语言选择有一个回退顺序:设置里指定语言、系统区域语言、英文兜底。常见做法是把界面语言写进用户配置文件,Navicat 每次启动都读这个配置。这个机制解释了为什么“复制完文件后还要去选项里切一次语言”:如果设置里仍然指向 English,程序根本不会去加载中文文件。
我见过有人为了省事,直接把系统区域改成中文然后重启,结果 Navicat 界面确实中文了,但电脑上其他英文软件也跟着变语言,副作用太大。正确做法是在 Navicat 内部完成切换,路径很直观:工具菜单里的选项、常规页、界面语言下拉框。这样做的好处是只影响 Navicat 自己,不影响系统和其他程序。
2.3 语言包的组成:一个目录里到底该有哪些文件
下载下来的中文语言包,解压后通常是一个目录,里面包含两类文件和一份说明文档,具体内容以包内说明为准:
| 文件类别 | 作用 | 常见命名 |
|---|---|---|
| 主界面语言文件 | 菜单、二级菜单、右键菜单、对话框标题 | app_zh_CN.qm / navicat_zh_CN.qm |
| Qt 自带组件语言文件 | 文件选择框、日期控件、通用按钮内置文字 | qt_zh_CN.qm / qtbase_zh_CN.qm |
| 安装说明 | 放置路径、语言标识写法、版本对应关系 | readme.txt |
第一类是必须的,缺了它主界面基本还是英文。第二类负责的是文件对话框、日期控件这类由底层框架生成的文字,缺了它会出现“主界面中文 + 弹窗英文”的拼盘效果。多数民间语言包会把两类一起放进去,拿到手先看有没有 readme,别上来一股脑复制。
2.4 为什么要用外置语言文件而不是覆盖主程序
经常有人把语言包和补丁混为一谈。其实这种外置语言文件与一次性修改主程序的补丁不同,它不改变主程序本体,也不会在数据库连接、SQL 执行这些核心功能上动手脚。程序启动时去外部找翻译文件,找到就用,找不到就落回英文。好处是卸载方便,删掉或替换某个文件就能还原。
代价也很直接:安装目录一旦被升级程序重写,外部语言文件很可能被当作旧文件清理掉。这不是语言包的问题,而是外置资源本身的特性。理解了这一点,就不会在升级后中文界面消失时去怀疑语言包坏了,而是先检查文件还在不在。
2.5 为什么升级后旧语言包容易失效
主程序升级时界面文案的字符串编号会变,翻译文件是按旧版本编号编译出来的。新版本里某个菜单项编号变了,旧文件里找不到对应条目,那一项就会显示英文。这解释了为什么 16.0 的语言包放到 16.3 上可能部分失效。资源里如果标注了版本区间,先判断是否匹配;没标注的,用第 5 章的完整校验流程来验证。
3. 安装与配置流程:备份、放置、切换三步走完
3.1 第一步:备份当前的英文语言文件
我一般不会直接往安装目录里扔文件,先把当前目录下已有的 .qm 文件备份一份。Windows 下用命令提示符以管理员身份进入安装目录,执行:
cd /d "C:\Program Files\Navicat Premium 16" mkdir zh_CN_backup copy *.qm zh_CN_backup\解释一下:/d 参数让 cd 切换盘符和路径;zh_CN_backup 目录名可以自己取;copy *.qm 会把安装目录下已有的全部翻译文件复制过去。这一步的意义在于给升级和排查留后悔药。Mac 上路径在应用包内,常用位置是 /Applications/Navicat Premium 16.app/Contents/Resources,命令等价。如果你装在 D 盘,把引号里路径换成实际安装路径即可。注意:只要文件名带 .qm 后缀,复制时都别改名字,改名等于让程序认不出它。
3.2 第二步:把中文语言文件放进安装目录
解压语言包后,用如下命令复制到安装目录:
copy /y "C:\Users\你的用户名\Desktop\Navicat中文包\*.qm" "C:\Program Files\Navicat Premium 16\"参数 /y 表示目标文件已存在时直接覆盖,不弹确认框。复制完成后,用 dir 看下文件是否真的存在、大小是否和包里一致。很多人复制完就重启,结果发现文件没进去,原因多半是杀毒软件拦截或权限不足。看到输出“已复制 0 个文件”时,先检查源路径是否写错,不要急着重启。
3.3 第三步:在选项里切换界面语言并重启
复制文件只是第一步。打开 Navicat,进入“工具”菜单里的“选项”,在“常规”页找界面语言相关的下拉框,把它从 English 切换到 Simplified Chinese,有的版本显示为“简体中文 (zh_CN)”。选完后点确定,程序会提示重启生效。
注意,语言切换不是实时生效的,必须退出后台进程再重新打开。很多人在这里翻车:点了确定,看到界面没变,以为没成功,又重新复制文件。其实只是没彻底重启。
提示:切换语言后务必彻底退出后台进程再重启,否则仍显示旧界面。
3.4 装完后的三处验证点
重启后不要急着看主菜单,先看三个最容易暴露问题的地方。一是主菜单栏,文件、编辑、视图、工具这些是否完整变中文;二是右键单击表名弹出的上下文菜单,看“复制记录”“导出向导”这些是否也变中文;三是新建连接向导,看“主机名或 IP 地址”这类标签是否正常。
这三处都正常,基本可以判定语言包生效了。如果主菜单已经中文,但新建连接向导还英文,优先怀疑 Qt 组件翻译文件缺失,补上第 2.3 节里的第二类文件再重启一次。如果只有关闭按钮、文件对话框是英文,那是 Qt 基础组件文件没放对位置。
4. 避坑记录:四种最容易把人绊倒的汉化失败现场
4.1 现象一:文件放进去了,界面还是全英文
原因最常见的有两种。第一,安装目录不对,比如 Navicat 安装在 Program Files (x86) 里,你复制到了 Program Files 下,程序根本不会去那个目录找语言文件。第二,语言文件位置对,但程序没认出这是简体中文资源,因为文件名与它预期的语言标识不一致。
解决:先确认安装目录到底在哪个盘哪个目录,用菜单里的“打开文件所在位置”或 where navicat 命令定位。再把语言包内的文件命名与安装目录里已有语言文件的命名方式对齐,比如已有文件叫 navicat_zh_CN.qm,就按这个命名放。名字错一个字母,程序就不认。
4.2 现象二:主界面中文,弹窗里夹杂 Continue、Apply
原因:只放了应用程序自己的翻译文件,没放 Qt 框架组件翻译文件。文件选择框、标准按钮、部分对话框的标题是 Qt 底层生成的动态文本,主程序翻译文件管不到这些。
解决:把包里 qt_zh_CN.qm 或名字类似的 Qt 组件翻译文件一并复制到安装目录,重启。验证时重点看“保存文件”“打开文件”对话框,那里是残留英文的重灾区。
4.3 现象三:Navicat 升级后中文界面消失了
原因:小版本升级时安装程序会重写安装目录,外部翻译文件可能被视为旧文件删掉,或新版本主程序要求的语言标识版本变了。这不是你的操作问题,是程序更新流程清掉了外置文件。
解决:升级前先备份安装目录里的 .qm 文件到外部文件夹,升级后重新复制回去,再进选项确认语言设置仍然指向简体中文。如果新版本界面文案有变化,旧语言包可能部分失效,这时要等项目资源里对应版本的更新。
4.4 现象四:同一个界面里中英文随机混排
原因:语言文件存在多个版本、同一标识多份文件,或者配置文件里写明的语言标识与文件名不一致。程序启动时按自身查表逻辑加载其中一份,不同窗口的字符串就可能来自不同翻译文件,看起来就是“一会儿中文一会儿英文”。
解决:删掉安装目录里其他旧语言文件,只保留与当前版本匹配的一份,再检查配置文件里的语言字段。如果自己改过语言字段,改成与目标文件名一致,然后重启。
注意:删旧文件前先备份,免得把能用的语言文件一并删掉。
5. 排查链路:从路径匹配到后台进程逐一验证
5.1 确认安装路径与用户权限
一上来不要怀疑语言包,先验证文件有没有真的进入程序查找路径。Windows 上右键快捷方式选“打开文件所在位置”,是最干脆的办法。如果复制时提示权限不足,以管理员身份重新打开命令提示符再执行。Mac 上直接用访达把应用包里的 Contents/Resources 路径打开再复制,不要用终端时路径拼错。
5.2 文件名与语言标识的匹配关系
程序认的是语言标识而不是汉字。如果语言包里的文件名与安装目录里已有文件命名风格差距太大,常见做法是改成与目标语言标识一致的形式。拿不准时,先用哈希值对比包内与已复制文件,确保文件完整:
certutil -hashfile "C:\Program Files\Navicat Premium 16\navicat_zh_CN.qm" SHA256certutil 是 Windows 自带的哈希工具,换成实际文件名,把它和包内同文件的哈希做对比。如果完全一致,说明文件在复制过程中没有损坏。包内 readme 里如果标注了校验值,直接用校验值对照更快。
5.3 残留进程与缓存的影响
有时候文件复制成功、设置也没问题,但仍然是旧界面。常见原因是 Navicat 没有真正退出,托盘或后台还有进程残留。重启前用任务管理器确认没有 navicat 相关进程,Mac 上用活动监视器搜索进程名退出。这一步很多人忽略,导致明明复制对了,却看到缓存里的英文界面。
Windows 上还可以把用户目录下的 navicat 配置文件临时改名再启动,看是否恢复正常。本地配置文件有时把语言设置写旧了,临时改名能排除这个干扰。如果改名后启动正常,说明配置字段需要重写,回到工具选项里重新选一次中文再确定即可。
5.4 配置文件里的语言字段
配置文件的路径因安装方式而异,常见做法是把界面语言写入用户目录下的配置文本或注册表项。如果你之前手动改过配置,回到选项界面重新选一次中文再确定,比直接改配置稳妥,因为程序会重新写入正确的标识值。
如果配置里语言字段与语言文件标识对不上,即使文件在位,程序也会按字段去找,找不到就回退英文。这也是为什么我建议复制文件后不要手动乱改配置文件,所有改动都通过选项面板完成。
5.5 用两分钟做最终完整性校验
最后把包内 readme 拿出来,对着步骤重新走一遍:先备份,再复制,再检查文件大小,再切语言,最后彻底重启。若还是不生效,把语言包换到另一台装有相同版本、相同系统的机器上试试,可以快速区分是包的问题还是环境拦住了它。这也是我判断一个语言包能不能用最快的办法。
6. 进阶用法:做一份可随时切换的中英双语配置
跑通汉化不代表完事。有些场景你还想临时切回英文,比如对比官方英文截图、查文档术语。顺手的方式不是每次都去设置面板里点,而是准备一个带备份功能的一键切换脚本。我常用下面这个脚本,放在桌面:
@echo off set NAVICAT_DIR=C:\Program Files\Navicat Premium 16 set BACKUP_DIR=C:\Users\你的用户名\Desktop\navicat_lang_switch if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%" echo [1] Switch to Chinese echo [2] Switch to English set /p choice=Please choose: if "%choice%"=="1" ( copy /y "%BACKUP_DIR%\navicat_zh_CN.qm" "%NAVICAT_DIR%\" echo Chinese restored ) else if "%choice%"=="2" ( copy /y "%BACKUP_DIR%\navicat_en.qm" "%NAVICAT_DIR%\" echo English restored ) pause脚本里 set 是定义变量路径,if not exist 负责首次运行自动创建备份目录,copy /y 做文件替换。注意 .bat 里中文注释在旧版命令提示符下容易乱码,所以我把提示文案故意写成了英文;如果你用的是新版终端,再把中文加回去也不迟。路径两侧的双引号不能省,否则含空格的路径会被拆断。
脚本的好处是升级前可以先切回英文,再备份、再替换,避免升级过程中旧文件被覆盖后留下一个没有中文可用的状态。我会把 certutil 哈希校验那行也顺手加进脚本里,替换完成后自动打印哈希值,再和包内 readme 对照一遍,几秒钟就能确认没有复制错文件。
至于更彻底的自定义翻译,比如想改掉某句不满意的中文文案,.qm 是编译后的二进制格式,直接改文本不现实。常规做法是拿到对应的可编辑翻译清单,改完后重新编译回 .qm。很多语言包资源里会附带翻译清单,但没有也不影响使用——只改界面文案才需要走这一步,普通使用用不上。
写到这里想起一次翻车:我当时拿到一个新版本语言包,图省事没备份,直接覆盖掉原文件,结果升级后连英文原版都没剩,最后只能重新装软件。从那以后我每次替换语言包都强制走一遍“先备份、再复制、再校验”的三步流程,连临时切英文这种小操作也不跳过。希望帮到你。
本文还有配套的精品资源,点击获取