ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

QGIS界面语言切换全攻略:中文设置、翻译机制与不生效排查

QGIS界面语言切换全攻略:中文设置、翻译机制与不生效排查 前阵子帮一位刚接触GIS的朋友装QGIS装完双击打开满屏英文新手当场就卡住了。我告诉她去“设置”里改语言几分钟搞定。结果没过两天她又来找我为什么重启打开还是英文我远程一看——原来她只是把窗口关掉就算“重启”了后台进程还挂着语言设置根本没重新加载。这类问题在GIS交流群里反复出现很多人以为QGIS切中文就是“点一个下拉框”的事真到操作时却栽在各种细节上。所以这篇文章我不想只给你“点哪里”的答案而是把QGIS界面语言切换背后的翻译机制、三个语言入口、不同版本和安装方式的差异、以及切换不生效时的完整排查链路一次讲清楚。适合刚装完QGIS、想用中文界面入门的小白也适合被中英混杂界面折磨得想砸电脑的进阶用户。1. 先搞懂QGIS界面语言的工作机制1.1 翻译文件从哪里来QGIS基于Qt框架开发Qt的本地化机制很成熟开发者把界面字符串提取成翻译模板.ts由翻译者翻译后编译成二进制的 .qm 文件程序启动时按当前语言名去加载对应的 .qm界面就变中文了。QGIS的翻译并非官方闭门造车而是全球志愿者在社区协作平台上一起维护的简体中文、繁体中文都有专门的小组在跟进。这意味着一个关键结论真正决定界面能不能显示中文的是安装包里有没有 zh_CN.qm 这个文件。你可以在以下位置检查Windows独立安装版安装目录下 apps\qgis\i18n如果你装的是LTR长期支持版路径可能是 apps\qgis-ltr\i18nLinux的apt/dnf等包管理器安装/usr/share/qgis/i18nmacOSQGIS.app 应用包内的 Contents/Resources/i18n正常情况下这个目录里躺着上百个 .qm 文件en、zh_CN、zh_TW 都在。如果这里没有 zh_CN.qm你在设置里选什么语言都没用——因为程序根本没有翻译文件可加载。这也是后面排查“切换不生效”时要查的第一站。还有一个常被忽略的点不同版本的翻译完整度不一样。开发版或者大版本刚发布时新加入的对话框经常还没来得及翻译而LTR版本功能被冻结、迭代节奏慢翻译反而会被反复打磨。想省心用中文选LTR长期支持版体验更好这一点后面单独展开。1.2 语言切换的三个入口很多人以为QGIS的语言只有一个“选项设置”入口其实它有三个而且优先级不一样控制入口位置生效时机优先级图形设置设置 → 选项 → 常规 → 语言完全重启后中系统区域操作系统语言/LANG环境变量启动时读取低环境变量启动前 set/export QGIS_LANG启动时读取高覆盖系统区域设置设置 → 选项 → 常规 → 勾选项完全重启后较高这里有个很实用的判断方法界面里如果手动选了具体语言比如“简体中文”通常会覆盖操作系统语言而环境变量 QGIS_LANG 在启动瞬间就被读取一般拥有最高优先级这也是官方文档里推荐的“强制切换语言”手段。3.x版本里还有一个“覆盖系统区域设置”的勾选框勾选后可以手动填 en_US 或 zh_CN 这种代码它会覆盖基于系统语言的自动判断。注意语言代码不能乱填。简体中文一定是 zh_CN不是 zh-CN也不是 zh_CN.UTF-8UTF-8只是编码不是语言代码。填错等于没填程序找不到对应的翻译文件就默默退回英文或者系统语言。2. 新版QGIS3.x切换中文的完整步骤2.1 图形界面操作流程以3.22到3.40这几代最常用的版本为例路径非常统一启动QGIS点菜单 Settings → Options如果已经部分汉化那就是“设置”→“选项”。左侧选择 General常规。顶部第一个下拉框是 Language展开后选中“简体中文”。不同小版本显示可能略有差异有的写“中文简体”有的写“简体中文 - 中国大陆”选它就行。同时看一眼旁边的“覆盖系统区域设置”如果不是特殊需要取消勾选让QGIS跟随系统语言如果你系统不是中文但希望界面中文就勾选并填 zh_CN。点 OK完全退出QGIS重新打开。这里我必须强调“完全退出”因为我在实际帮人排查时发现绝大多数“改了不生效”都是死在这一步。QGIS保存选项后语言设置写进了配置文件 QGIS3.ini但不会在当前进程里立刻重载界面语言。也就是说你在同一个进程里改完语言菜单栏依然是英文这是正常的。这时候如果你只是把项目窗口“关”了——比如从文件菜单退出时误点了取消或者点右上角X关闭窗口但后台还有残留进程——重新双击快捷方式打开的可能还是那个没退干净的进程语言自然不变。Windows上尤其容易遇到稳妥做法是所有窗口关了以后到任务管理器里看一眼还有没有 qgis 或 qgis-bin.exe 进程有就结束掉再启动。2.2 系统区域设置怎么配合如果选项里选的是“默认区域设置”那QGIS不看自己内部设置直接跟随操作系统语言Windows设置 → 时间和语言 → 语言首选语言里如果有简体中文QGIS启动就自动加载中文。注意Windows里“区域”和“显示语言”是两套东西QGIS主要依据系统显示语言不是让你改“区域”里的格式。Linux很多桌面环境以 LANG 环境变量为准。终端里敲 echo $LANG看到 zh_CN.UTF-8 就基本没问题。坑点在于用sudo启动、通过桌面快捷方式启动、或者不同登录会话LANG变量可能不一样界面语言就会跟着变来变去。macOS系统设置 → 通用 → 语言与地区QGIS跟随系统首选语言。官网下载的安装包一般带全量翻译会自动跟随。换句话说很多Linux用户从发行版仓库装完QGIS打开就是中文反而不知道“设置里还能改语言”这回事。如果你发现自己“从来没设置过但界面是中文”不用惊讶那大概率是你的系统区域本来就是中文。2.3 配置文件、用户剖面和残留进程QGIS 3 的用户配置存在 profile 目录里Windows%APPDATA%\QGIS\QGIS3\profiles\defaultLinux~/.local/share/QGIS/QGIS3/profiles/defaultmacOS~/Library/Application Support/QGIS/QGIS3/profiles/default语言选择就存在这个目录下的 QGIS3.ini 文件里。有时候从旧版本升级上来旧配置文件和新版本不兼容就会出现“设置界面明明改了重启后又还原”的奇景。我的处理套路是先备份整个默认profile文件夹然后彻底删掉或改名让QGIS重建一个干净配置再重新设置语言。这是最后的手段因为插件、快捷键、自定义样式全都会丢但排查语言这种“玄学故障”非常有效。如果想更优雅一点可以用命令启动一个全新剖面来验证是不是配置冲突qgis --profile zh_test新剖面能正常显示中文那就实锤了是默认profile里有什么东西在捣乱删配置不冤。3. 旧版本和特殊版本2.x、LTR、便携版与Linux发行包3.1 QGIS 2.x 的大同小异现在还在用QGIS 2.x的多半是存量项目用户最常见的是2.18 LTR。路径其实差不多设置 → 选项 → 常规语言下拉框在页面顶部选“简体中文”确定后重启。2.x时代有个容易误改的选项——语言下拉框旁边往往还有“编码”设置建议保持默认UTF-8别乱动否则属性表里的中文数据可能全部变乱码。另外2.x的翻译完整度在2.8以后才稳定下来2.0到2.6阶段很多对话框半英半中那不是你操作问题是那个时代的翻译本来就没补齐。3.2 LTR版为什么更省心QGIS有两条版本线LTR长期支持版和功能版。以社区惯例LTR版本号通常是3.x系列里被指定为长期支持的比如3.28系列、3.34系列每两三个小版本才会出一个新的LTR。LTR对中文用户最友好的地方在于功能冻结字符串不再频繁变动翻译志愿者有时间把每个对话框都校一遍。而功能版也就是最新尝鲜版每次加入新功能都会冒出一批英文对话框要等翻译跟上可能得熬过一两个小版本。所以如果你对中文界面有刚需不想整天看到“半身不遂”的界面直接用LTR是最省心的。我自己主力就是LTR测试新插件才会去开功能版。3.3 便携版、Flatpak/Snap、源码编译的特殊情况不同的安装方式决定翻译文件是否齐全这直接影响中文界面能不能用官方独立安装包Windows自带全量 i18n 翻译文件最省心小白无脑选这个。OSGeo4W网络安装版如果按默认“完整安装”来翻译文件一般都在但如果你手动只勾了最小组件i18n目录可能是空的界面里怎么选都没用。补救办法是重新打开OSGeo4W安装器补装完整组件。PortableApps便携版我实测过一般自带翻译文件但网上有些第三方“精简版”为了压缩体积把翻译文件删了。遇到这种版本切换到中文失败很正常换回完整便携包或者直接用官方独立安装包。Flatpak/Snap沙箱环境下翻译文件经常不完整遇到过Flatpak版QGIS“主菜单中文、对话框英文”的混合状态换成发行版官方仓库包或官方AppImage就正常了。源码编译CMake配置时要注意启用翻译相关选项编译前先跑 lrelease 生成 .qm 文件。自己编译还缺中文的先查编译日志有没有生成 zh_CN.qm。Linux上快速检查翻译文件是否存在一行命令ls /usr/share/qgis/i18n/*.qm | grep zh有输出说明翻译文件在位剩下的就是语言选择问题没输出说明安装方式有问题单纯的设置解决不了。4. 切换不生效时的完整排查链路这一节是给“改了设置、重启了N次、还是英文”的朋友准备的。我按自己的排查顺序写每一步都能单独验证。4.1 第一站确认 zh_CN.qm 翻译文件存在这是最容易被忽略、也最根本的问题。很多人折腾半天选项设置结果安装包本身就没带简体中文翻译。先按前面说的方法检查i18n目录Windows独立安装版看 apps\qgis\i18n 或 apps\qgis-ltr\i18n 下有没有 zh_CN.qm。OSGeo4W看 C:\OSGeo4W64\apps\qgis\i18n 之类路径。Linux用上面那行 ls 命令。文件不存在直接解决安装源问题别跟设置死磕。文件存在进入下一站。4.2 第二站检查“覆盖系统区域设置”和用户剖面打开 设置 → 选项 → 常规重点看两个东西语言下拉框是否真的选到了“简体中文”而不是“默认区域设置”。如果你系统语言不是中文又想界面中文却选了“默认区域设置”那等于没选。“覆盖系统区域设置”是否被误勾选并且填写框里是空的或者乱码。勾选了就必须填 zh_CN否则程序不知道该怎么覆盖可能直接退回英文。这两个都没问题但重启还是英文就轮到profile登场了。用隔离剖面测试qgis --profile zh_test新剖面正常显示中文就是默认profile有旧配置在作祟。备份后删除 %APPDATA%\QGIS\QGIS3\profiles\default或Linux/macOS对应目录里的 QGIS3.ini或者干脆改名整个default文件夹让QGIS重建。4.3 第三站环境变量强制锁定GUI设置被各种因素干扰时环境变量是最后也最可靠的手段。Windows命令行set QGIS_LANGzh_CN C:\Program Files\QGIS 3.34.??\bin\qgis.exeLinux/macOS终端QGIS_LANGzh_CN qgis想永久生效Windows在“系统环境变量”里新建 QGIS_LANGzh_CN 即可Linux可以在 ~/.profile 或桌面启动器里加 EnvironmentQGIS_LANGzh_CN。QGIS_LANG 在启动时被读取通常优先级最高。如果加了环境变量还是英文那就得检查你的快捷方式是不是指向了一个自定义启动脚本脚本里可能又set了别的值把QGIS_LANG覆盖回去了。4.4 “中英混杂”界面不是没设置对很多人的“不生效”其实不是完全没变化而是主菜单中文、对话框英文、表达式全英文看起来像没设置成功。这种情况95%不是你的操作问题版本太新新字符串翻译还没入库。功能版刚发布的几个月内部分对话框就是英文等翻译跟进就好。第三方插件没做中文翻译。插件和QGIS主体是两套翻译体系插件作者完全可以不给界面做中文。比如网上热度不错的 Geometry Shapes 插件它面板是否中文取决于插件本身有没有提供zh翻译文件跟QGIS主体设置无关。表达式函数名永远是英文。QGIS表达式设计如此函数名是硬编码的英文标识符比如 buffer、intersection。切到中文界面后函数名不变但函数说明尽量有中文翻译。这是设计上的取舍函数名相当于API跨语言、跨版本要保持稳定界面翻译只是“皮肤”。顺便解答一个搜索热词里常出现的问题“QGIS矢量表达式公式设置”。表达式语言里中英界面的脚本写法完全一样你用英文函数名写表达式工程文件保存到哪台电脑、什么语言界面上结果都一致。切换语言不会让你的老工程失效工程里存的是函数逻辑不是菜单翻译。5. 切到中文界面后几个马上用得上的界面细节5.1 常用菜单中英对照表切到中文后很多老用户反而找不到按钮了——因为肌肉记忆都是英文菜单。下面这张表覆盖日常最常用的部分英文菜单/工具常见中文翻译Project项目Edit编辑View视图Layer图层Settings设置Plugins插件Vector矢量Raster栅格Database数据库Web网络Processing处理Toggle Editing切换编辑状态Add Vector Layer添加矢量图层Add Raster Layer添加栅格图层Open Attribute Table打开属性表Field Calculator字段计算器不同小版本个别词翻译偶有出入但主菜单基本稳定。我的建议是别死记菜单名记住操作逻辑添加点要素这件事在中文界面里就是编辑工具栏上的“添加点要素”按钮英文界面叫 Add Point Feature鼠标悬停都能看到图标提示。5.2 属性表、字段计算器和批量赋值技巧切到中文后最常被问到的批量赋值场景其实是“属性表字段计算器”。完整路径是这样图层面板上右键目标图层 → “打开属性表”。属性表工具栏点“字段计算器”按钮。弹窗里先决定“新建字段”还是“更新已有字段”。表达式框写公式下面的“预览”区域会逐行显示计算结果。批量赋值的经典需求是按字段值分档比如把地块按面积分类if( area_m2 10000, 大, if( area_m2 5000, 中, 小 ) )这就是“字段和值批量赋值”的典型答案新建一个分类字段勾选“新建字段”写表达式点确定整个图层瞬间完成赋值。很多人搜“字段和值批量赋值”其实要的就是字段计算器里“更新已有字段”的用法——注意中文界面里这个选项翻译为“更新已有字段”对应英文 Updating existing field别找成别的。这里有个中英界面通用的铁律字符串值必须用英文单引号包裹字段名要用英文双引号包裹。如果字段名是中文或者带空格表达式里写成 用地类型 这种双引号形式才不会报错。切不切换中文都不影响这条规则。5.3 打开GDB、在线图源、插件安装的本地化小经验最后分享几个中文化之后马上会遇到的高频操作。打开ESRI File Geodatabase.gdb文件夹最省心的方法不是通过“添加矢量图层”去过滤文件类型而是直接在“浏览器”面板里找到.gdb文件夹右键“添加图层到项目”或者干脆把整个文件夹拖进画布。我实测过各种版本的gdb数据拖拽方式成功率最高而且中文界面下的调用路径很直观——浏览器面板的右键菜单写的就是“添加图层到项目”。添加在线底图浏览器面板里找到“XYZ Tiles”中文界面可能显示为“XYZ切片”或“XYZ瓦片”右键“新建连接”填入在线瓦片服务的URL。做国内项目时优先考虑国内可稳定访问的公共图源服务比盲目填国外图源省心得多。如果某些图源加载慢或者不出图先检查网络环境这跟QGIS语言设置没有关系。插件安装菜单“插件”→“管理并安装插件”搜索框直接打插件ID即可比如 Geometry Shapes。插件界面是否中文取决于该插件是否内置中文翻译。装了插件发现界面英文不用怀疑自己操作问题那是插件作者没做本地化。最后补充一个我个人的习惯新机器装完QGIS我从来不急着改界面语言而是先把数据接入、插件安装、在线图源这些核心流程跑通确认基础功能正常再去切中文。因为一旦改了语言之后才发现问题你很难判断是语言切换引入的还是环境本身就有毛病。先跑通再汉化排查成本低很多。语言这东西本身就只是个皮肤真正决定工作效率的还是你对图层、属性表、表达式和工程文件的熟悉程度。界面换成中文只是第一步把面板术语和操作逻辑对应起来才是真正上手的开始。
返回列表